[Tryhackme] Passive Reconnaissance
·
웹해킹
Reconnaissance  레콘이란?잠재적 타깃에게 본격적으로 공격을 실행하기 전에 정보를 수집하는 과정을 의미한다. 타깃의 취약점이나 성능과 기능을 파악할 수 있기 때문에 전략을 계획하고 더 정교한 공격을 하는데 도움이 된다레콘은 Active/Passive 이렇데 두 가지로 분류됨Active Reconnaissance: 직접적으로 타깃 지점에 접근해서 정보를 얻을 수 있지만 스스로를 드러내게 됨Passive Reconnaissance: 거리를 두고 정보를 얻는 방식이고 스스로를 드러내지 않으면서 리소스를 얻음 Passive Reconnaissance시스템에 직접적으로 접근하지 않고 공개 소스에서 데이터를 얻거나 스스로를 나타내지 않은 채 트래픽을 인터셉트하는 방식이다. 이외에도 Wireshark를 이..
[Tryhackme] 리버싱 Reversing ELF Writeup
·
Writeup
최근 며칠 동안 계속 웹해킹 랩만 풀었더니 리버싱이 약간 그리워져서tryhackme의 리버싱 랩을 하나 풀어봤다 근데 문제가 8개여서 시간은 꽤 소요되었음 8개의 crackme1~crackme8 파일에서 각각 플래그를 찾아내면 된다!  Crackme 1일단 파워쉘에서 strings을 출력했지만 힌트라고 할만한 정보는 찾지 못했다나중에 안건데 ELF 파일이어서 그런지 파워쉘에서는 분석이 제대로 안되는 것 같다   별 수확이 없어서 칼리리눅스에서 시도해봤음chmod +x [file] 파일 실행권한을 추가하고 바로 ./crackme1 이렇게 실행하니까 바로 플래그를 찾았다  Crackme 2 1번 문제와 마찬가지로 실행 권한을 추가하고 실행했는데 이번엔 패스워드가 필요하다strings 명령어로 플래그 획득 성..
리눅스 에러 Sub-process /usr/bin/dpkg returned an error code (1) 해결 방법
·
Troubleshooting
리버싱 문제를 풀려고 gdb를 설치하는데 Sub-process /usr/bin/dpkg returned an error code (1) 이렇게 에러 코드를 받은 상황apt, dpkg 패키지 설치에 문제가 있어 기능들이 다 죽고 설치가 안 돼서 의존성 문제가 발생함 sudo rm /var/lib/dpkg/info/*sudo dpkg --configure -asudo apt-get update sudo rm /var/lib/dpkg/info/*sudo dpkg --configure -asudo apt-get update -y 이 세 명령어를 실행하면 info 디렉토리를 삭제하고 dpkg 명령어 실행, apt update가 된다다시  dbg 설치를 시도하니 성공
Lab: Exploiting LLM APIs with excessive agency Writeup
·
Writeup
이전 포스팅에서 LLM 취약점과 공격 예시 이론을 다루었다오늘은 LLM API의 취약점을 공격해서 carlos 계정을 삭제하는 실습을 해보겠음  상품 판매하는 쇼핑 웹사이트인데 오른쪽 상단에 있는 Live Chat을 들어간다 챗봇이나 심심이처럼 정해진 답을 하는게 아닌, 실제 AI와 유사하게 답변을 해준다사용자와 인터렉티브한 소통이 가능하니 프롬프트로 공격하면 되겠다 이 랩의 이름에서 LLM API라고 알려주니까 API정보를 먼저 얻어야겠다어떤 API에 액세스가 되어있는지 물어보니까 password_reset, debug_sql, product_info 이렇게 3개의 API를 알려줌  비밀번호 초기화가 아니라 carlos 계정 자체를 삭제해야 하니까 첫 번째 api는 아니고,debug_sql을 더 살펴봐..
Web LLM Attacks 대규모 언어 모델 AI 보안 취약점
·
웹해킹
AI의 급성장과 더불어 LLM 역시 빠지지 않는 주제이다. gpt처럼 전용 소프트웨어로 사용되는 경우도 있지만 다른 서비스 소프트웨어에 임베드되어 사용되는 경우도 많다(Notion, Canva 등). 오늘은 LLM의 API의 작동방식과 취약점에 대해 다뤄보려고 한다. LLM 대규모 언어 모델이란요즘 정말 많은 기업에서 웹 서비스에 LLM을 도입하고 있는데, 나 역시 GPT, Bard, Gemini 등을 사용하기 때문에 이제는 없어서는 안 되는 존재임이 틀림없다. LLM은 머신러닝 기반의 인공지능으로, 방대한 양의 텍스트를 학습해서 언어 구성 요소를 이해한다. 일반적으로 사용자의 인풋, 프롬프트를 통해 인터렉티브한 서비스를 제공하고, 인풋값은 입력 유효성 규칙을 따라 검증을 거치는 게 일반적이다.  LLM..
Lab: JWT authentication bypass via unverified signature Writeup
·
Writeup
JWT는 헤더, 페이로드, 시그니처 이렇게 3가지로 이루어져 있다.이번 랩은 세션을  JWT 기반으로 관리하고, JWT의 시그니처를 검증하지 않는 취약한 서버다세션 토큰을 수정해서 admin 패널을 탈취한 후 carlos 계정을 삭제하는 시나리오다  랩 설명에서 주어진 계정정보 wiener:peter로 로그인을 한다어드민이 아니라 일반 유저 권한이기 때문에 Burpsuite에 들어가서 로그인 파켓을 찾아보자repeater에서 변조하면 될 듯 시작하기 전에 JWT 토큰을 변경하기 위해서는 burpsuite의 확장자인 JWT Editor을 설치하자Extensions 탭에 들어가서 BAPP Store에서 찾을 수 있음  로그인에 해당하는 GET 메서드, /my-account?id=wiener 파켓을 살펴보면쿠..