분류 전체보기 31

[tryhackme] Basic Pentesting

enum4linux SMB(Samba) 프로토콜을 사용하는 시스템에서 정보 수집을 목적으로 설계된 툴 중 하나입니다. 주로 Windows 네트워크나 Samba 서버를 대상으로 사용되며, 해당 시스템의 사용자, 공유 리소스, 그룹 등과 관련된 정보를 수집할 수 있습니다. Hydra Hydra는 다양한 프로토콜 및 서비스에 대한 암호 크래킹을 수행하는 오픈 소스 도구로, SSH, FTP, HTTP 등 다양한 서비스에 대한 로그인 인증 정보를 공격하는 데 사용됩니다 scp Secure Copy Protocol의 약자로, 원격 시스템 간에 파일이나 디렉토리를 안전하게 복사하기 위한 명령어 및 프로토콜입니다. 주로 SSH(보안 셸, Secure Shell) 프로토콜을 사용하여 데이터를 암호화하고 안전하게 전송하는..

tryhackme 2023.12.21

[tryhackme] LazyAdmin

정보수집 OpenSSH 7.2p2 Apache httpd 2.4.18 SweetRice CMS 서비스분석 SweetRice Backup Disclosure 취약점을 통해 버전(1.5.1) 및 계정정보 탈취 John the Ripper로 탈취한 패스워드 크랙 SweetRice Arbitrary File Upload 취약점을 통해 파일 업로드 가능 확인 ... s:5:"admin";s:7:"manager"; s:6:"passwd";s:32:"42f749ade7f9e195bf475f37a44cafcb"; ... Exploit 탈취한 계정을 사용하여 리버스쉘 업로드 Target 쉘 획득 Post-Exploit 'sudo -l' 명령어로 sudo로 실행할 수 있는 명령어 목록 확인 누군가 남겨놓은 sudo 권한이..

tryhackme 2023.12.17

[tryhackme] Ignite

bandit을 마치고 이번에는 tryhackme를 풀어보려고 한다. 직접 푼다기 보다는 유튜버 노말틱님의 강의를 따라해보면서 웹해킹에 대한 지식을 얻어가고자 한다. 정보수집 Apache httpd 2.4.18 Fuel CMS Version 1.4(Content Management System) 서비스분석 Fuel CMS 1.4 취약점 확인 Exploit python RCE 코드를 사용하여 Exploit 성공 Post-Exploit 리버스 쉘 생성 및 접속 Database 계정 탈취를 위해 설정파일(*conf*) 검색 Database 계정정보 탈취 성공 크리덴셜 스터핑 공격으로 root 계정 접속 성공

tryhackme 2023.12.17

Bandit Level 31 ~ 33

Bandit Level 31 → Level 32 역시나 동일한 git 문제이다. 이번에는 홈디렉토리에 .gitconfig 라는 파일이 있다. 내용을 보니 email 계정과 name이 적혀져있다. 아직까지는 무슨 힌트인지 알 수가 없다. git을 불러오고 working directory에 있는 파일들의 내용을 확인해보았다. 이번 단계에서는 파일을 만들고 원격 저장소로 push 해야한다고 한다. 'README.md' 에 주어진 내용대로 파일을 생성하고 'add' 했더니 에러메시지가 발생했다. 아까 봤던 '.gitignore' 파일에 '*.txt'라는 내용이 적혀있었느데 이게 모든 .txt 파일을 무시한다는 내용이었다. '.gitignore' 파일을 수정하여 '*.txt' 를 주석처리 한 뒤 다시 'add'를..

bandit Write-up 2023.12.13

Bandit Level 26 ~ 30

Bandit Level 26 → Level 27 지난 포스팅에서 bash쉘로 bandit26에 접속 성공했었다. bandit27 계정 소유의 setuid가 설정된 파일이 있어서 너무나 쉽게 다음 패스워드를 얻을 수 있었다. Bandit Level 27 → Level 28 이번에는 git을 이용한 문제이다. 2220 포트의 ssh://bandit27-git@localhost/home/bandit27-git/repo에 있는 git 저장소를 복사하고 다음 패스워드를 찾아야한다. 먼저 git을 불러올 폴더를 하나 만든 다음 git clone을 이용해서 저장소를 복사해온다. 복사해올 때 패스워드를 물어보는데 bandit27 패스워드를 입력하면 된다. 복사가 완료되고 해당 경로에 들어가보니 README라는 파일이 ..

bandit Write-up 2023.12.10

Bandit Level 21 ~ 25

Bandit Level 21 → Level 22 cron에 의해 자동으로 프로그램이 일정한 간격으로 실행되고 있고 /etc/cron.d/ 에서 어떤 명령이 실행되고 있는지 확인해보라고 한다. /etc/cron.d 디렉토리에 들어가서 어떤 파일들이 있는지 확인해보았다. 여러 스케줄링 작업이 있는데 우리가 필요한 bandit22의 cron을 살펴보니 매 분마다 cronjob_bandit22.sh 라는 스크립트를 실행하고 표준 출력과 표준 오류를 모두 /dev/null로 리다이렉션하여 출력을 무시하는 작업이 등록되어있다. '&> /dev/null' 는 출력을 생성하지 않고 명령을 조용히 실행하기 위해 종종 수행된다고 한다. 공격자가 root권한으로 cron에 작업을 등록하여 원하는 데이터를 지속적으로 탈취할 ..

bandit Write-up 2023.12.05

Bandit Level 16 ~ 20

Bandit Level 16 → Level 17 localhost의 31000~32000번 사이 특정포트에 현재 패스워드를 제출하면 다음 단계를 위한 자격증명을 받을 수 있다고 한다. 먼저 서버 포트 중 열려있는 포트를 찾고 그 중 SSL를 사용하는 포트를 찾아야한다. 'nmap' 명령어를 활용하여 포트스캔한 결과 범위 내에 5개 포트가 열려 있는 것을 확인하였다. 여기서 SSL을 사용하는 포트가 무엇인지 openssl 명령어에서 포트만 변경해가면서 하나씩 접속해 보기로 했고 1개 포트에서 패스워드를 입력하고 인증서를 얻을 수 있었다. 이 'RSA PRIVATE KEY'라고 적혀 있는 인증서로 뭘 할수 있을까? 이전 단계에서 sshkey.private 이라는 ssh 개인키를 통해 다른 계정으로 접속하는 ..

bandit Write-up 2023.12.05

Bandit Level 11 ~ 15

Bandit Level 11 → Level 12 역시 data.txt 파일 안에 패스워드가 있는데 모든 소문자와 대문자가 13 위치만큼 회전되었다??? 제대로 해석한건지 번역기도 돌려보고 했는데 무슨 말인지 도통 이해할 수 없다. 'Helpful Reading Material'에 적혀있는 'Rot13 on Wikipedia'가 힌트인 것 같다. 음.. 퀴즈 같은 곳에서 이런 암호방식으로 푸는 걸 본 적 있는 것 같다. 알파벳 순으로 13번 뒤 문자로 치환해야한다는건데.. 어떻게하징?? 명령어 힌트 중에 tr 명령어가 일반적으로 길이가 동일한 두 문자 집합을 허용하며 첫 번째 세트의 문자를 두번째 세트의 해당 문자로 대체한다고 한다. 그럼 'a-z' 문자세트를 알파벳 순으로 13번 뒤로 이동한 'n-m'으..

bandit Write-up 2023.12.04

Bandit Level 6 ~ 10

Bandit Level 6 → Level 7 이번에는 서버 안에서 user bandit7과 group bandit6가 소유하고 크기가 33 bytes인 것을 찾아야한다. user, group, size 옵션을 통해 검색한 결과 권한이슈로 인한 에러메시지 사이로 파일 하나를 찾을 수 있다. 이번에는 금방 눈에 들어와서 찾을 수 있었지만 에러메시지가 너무 많아서 정상적으로 검색된 파일을 찾기가 힘들다면? 에러메시지를 제외하고 깔끔하게 찾을 순 없을까? 위와 같이 '2> /dev/null' 문구를 추가하니 에러메시지가 사라지고 우리가 찾고자 하는 파일만 확인할 수 있었다. 이게 무슨 의미인지 알아보자. 표준 스트림 표준 입력 : stdin, 파일 디스크립터 0 표준 출력 : stdout, 파일 디스크립터 1 ..

bandit Write-up 2023.12.01