vulnhub 그대로-취약
-
0x01로 홈페이지 포인트
의 개발을위한 1. 워드 프레스 프레임 워크 wpscan 기본 사용
2. 하기 PWD 환경 변수 권리 제공
3. SSH 설정은 , 키 착륙
4. 얻을 낮은 권한의 쉘 위치의 다양한
제공 5.kali dirb 스캔 웹 디렉토리를 (맛있는 때문에 사전) -
0X02는 스니핑 사전 및 포트 감지
칼리 터미널arp-scan -l
GET 무인 항공기 IP로는 : 172.20.10.3
의 nmap 스캔 무인 항공기 열려있는 포트가65535、80、21、23
, 즉,HTTP、HTTP、FTP、SSH
서비스 및 익명 FTP 서비스에서 읽을 수있는 파일에 기록됩니다.
직접 익명 FTP 로그인 후get
파일 항공기를 공격, 참조 :
이 미상 하나 개의 테스트하여 사용자의 암호를doe
사용자의 SSH, FTP 열매를. 이제 대상 사이트를보고 도는 발견 된 워드 프레스 프레임 워크 개인 블로그,하지만 페이지가 모두 사용 도메인 이름에 대한 링크 찾아 아주 이상한 표시됩니다 : HTTP : //literally.vulnerable/을, 우리는 로컬로 해결 도메인 이름을 증가 칼리에있는 호스트에 반환 :
지금은 정기적으로 얻을 수있는 페이지를 다시 방문
루틴dirsearch
여기 칼리 온다, 스윕 카탈로그를dirb
할 수있다, 외국 일반적으로 사용되는 디렉토리는, WP 로그인 밖으로 청소 후 화면하지만 식사 보풀이없는 과일 전에 주어진 암호를! 기대 이상, 그리고 로그인 할 수하는 것보다 다른 있었고, 어떤 결과가 없습니다 폭파 여러 사용자 이름을 보냈다.
那不妨在看看66536
的端口
同样用dirb
扫目录,这个时候字典格外关键,我用dirsearch.py
在物理机是没有扫出来想要的目录的,建议使用dirb
自带的大字典,或者是使用https://github.com/danielmiessler/SecLists中的/Discovery/Web-Content/raft-large-directories.txt这个字典足够大了。这里我们使用前者,dirb
自带的字典进行扫描。
可以看到用常规字典是并没有扫除目标目录的,我们进入dirb
自带的字典目录(/usr/share/dirb/wordlists)选一个更大的字典big.txt
,进行扫描即可。
/phpcms这个目录发现又是另外一个wordpress框架的网站
高高兴兴用之前得到的密码发现又没有用,login界面也不知道User,既然是wordpress,那用wpscan扫描有什么新发现,各种扫描后发现可以枚举得到用户名,再根据我们之前得到的密码,逐一枚举可以成功登录!----wpscan具体用法参考:https://www.freebuf.com/sectool/174663.html
得到用户:notadmin、maybeadmin
利用之前的backpassword
枚举爆破得到成功登录的user/password
wpscan --url http://172.20.10.3:65535/phpcms/ --user notadmin -P '/root/bp'
登录发现果然不是admin用户,但是在留言那儿看到了另外一个密码,我们再退出用这个密码登录noadmin用户发现是admin权限。
登陆之后找到上传模板并修改。
- 姿势一:利用PHP一句话,蚁剑连接,在进行反弹shell,得到www用户的shell
- 姿势二:直接构造PHP版的一句话反弹shell,监听后得到www用户的shell
- 姿势三:利用msfconsole的
exploit/unix/webapp/wp_admin_shell_upload
直接得到shell
这里利用第三种姿势得到shell,show options
查看各种需要set
的配置,利用已知的notadmin用户和密码,成功得到shell。再利用python3(前期发现是python3版本)得到交互式shell
在/home
下发现doe、john
两个用户,各种胡乱fuzz,发现有执行和读取的文件少之又少,可见必须先提权才行。发现一个可执行已经编译的itseasy
文件,而且是任意用户可以执行的,这里执行了一下这个可执行文件,得到的结果是:Your Path is: /home/doe。由于当前所在路径就是/home/doe,所以猜测这个可执行文件是调用了pwd命令,可以通过PATH环境变量进行提权。
https://www.freebuf.com/articles/system/173903.html
但此处利用PATH好像没有用,这里可能调用的是PWD
环境变量,修改环境变量发现成功得到john
用户的shell。
但这个时候可以执行命令但是并无回显任何东西,既然我们有一个较高权限的shell,这里干脆使用SSH进行连接。
SSH连接:
- kali终端
ssh-keygen
目的是将公钥给到john
用户 - 在
/home/john
目录下创建.ssh
文件夹,将kali的公钥导入到/.ssh/authorized_keys文件中 - 성공적으로 연결에 칼리는 SSH 연결이 될
John用户
나는 빈 암호를 사용하고 주.
SSH 성공적인 후에 얻을 수/home/john
디렉토리가 플래그가 있지만, 권한을보고john
숨겨진 찾을, 우리가 숨겨진 파일을 찾을 여기, 사용자의 암호를.local
폴더가john
사용자의 암호 (64 기수하라는 메시지가 암호 해독)john:YZW$s8Y49IB#ZZJ
sudo -l
를 활용할 수 있다는 것을 발견 할 수 /var/www/html/test.html
있지만, john
에 권한이없는 /var/www/html
파일에 쓰기 만 www用户
하면 파일을 작성할 수 있습니다, 사용자는 다시 www를 잘라
echo '/bin/bash' > /var/www/html/test.html
주어진에서 실행 권한 때문에 사용자가 존 실행할 수 있습니다
참조 chmod 명령을
chmod 777 test.html
존에 대한 사용자 뒤 후 sudo test.html
! 발견 성공은 최종 플래그를 얻을 수있는 루트 사용자가됩니다
마지막으로 트로피로 자신의 사용자를 생성 :