일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 네이버클라우드
- 정보보호
- azure
- 정보보안
- 인스턴스
- metasploit
- 클라우드보안
- ISMS-P
- 와이어샤크
- ncp
- isms
- AWS SAA
- 클라우드 자격증
- 개인정보보호법
- 로그분석
- Iam
- Burp Suite
- 파일시그니처
- AWS
- 공개키
- RDS
- EC2
- 클라우드
- 클라우드자격증
- 클라우드서비스
- 취약점
- 보안컨설팅
- 로드밸런서
- mysql
- AWS SSA
- Today
- Total
처음 만나는 클라우드 보안
웹쉘(WebShell)기본개념 + 실습하기 본문
웹쉘(WebShell)이란?
: 운영체제의 커널과 사용자를 이어주는 쉘(Shell)을 이용한 공격을 뜻한다. 주로 공격자가 악성 프로그램을 공격 대상 서버에 업로드를 성공하는 것으로 시작되며, 서버 스크립트 (ASP, PHP, JSP)등으로 만들어진다. 이를 통해 공격자는 원격으로 명령어를 보내 대상 PC를 조종할 수 있다.
참조) 악성코드는 더 큰 범주이며, 웹쉘은 그 중 하나의 악성코드에 속한다.
-XSS (Cross Site Scripting)
: 웹서버에 공격 스크립트를 업로드하여 방문(클라이언트) 브라우저를 공격하는 기법을 말한다. 스크립트의 노출을 막기위해 난독화가 이루어지며, 주로 랜섬웨어 유포에 활용된다.
-CSRF (Cross Site Request Forgery) [씨 써프]
: 사용자의 요청을 위조해서 서버에 요청을 보내는 기법(웹서버를 공격) Ex) 자동으로 좋아요 눌러지기, 자동 댓글 달기, 회원 탈퇴 요청 보내기 등등
- 웹쉘의 침투
: 외부 네트워크의 취약점을 타고 서버 내부에 침투한다. 난독화로 변조된 웹쉘은 특정할 수 있는 패턴이 없기 때문에 방화벽에서 완벽한 선제 차단이 어려운 실정이다.
웹셀 공격 실습
웹쉘: http://192.168.5.132/uploadfile/browser.jsp
해당 jsp구문 body안에 <DIV style="position:absolute; left:200; top:90; Z-index:2;"> <img src="hack.jpg"></DIV>
삽입, 해커 이미지를 해당 경로에 위치시키고 브라우저에 접속한다.
참고) https://www.zone-h.org/archive/special=1/page=1 Deface제보 사이트
초간단 웹쉘
http://192.168.5.132/cmdjsp.jsp
웹서버를 관리자 권한으로 실행했기 때문(Whoami를 해보면 system이라고 나온다.)
일반 사용자 계정을 만들어서 웹서버를 실행, 그 계정은 잠금(locking)으로 설정해야 함(로그인 방지)
PHP용 웹쉘
[php웹쉘다운] http://192.168.5.132/uploadfile/browser.jsp?sort=1&dir=C%3A%5CWebApps%5CJspSrc%5Cphp
# 현위치
100kb 이상의 파일 업로드하기?
|| 또는 OR이라는 듯
&& 그리고 AND라는 뜻
High버전에서 b374k 업로드하기
확장자가 jpg여야 하는 경우, php확장자명이 꼭 끝에 없어도 됨
윈도에 비해 리눅스와 유닉스에서는 확장자가 크게 중요하지 않음, 파일 시그니처가 더욱 중요함.
명령 실행 취약점 (Command Execution, Command Injection)
Ping 서비스에서 리눅스 명령어 입력하기
예상되는 내부 명령어 => $ ping –c3 ________
; : 이전 명령어 종류 이후 따라오는 명령어 실행하라.
=> 주로 이러한 명령 실행 추 약점은 IoT에서 자주 발생함, 대부분 운영체제는 리눅스다.
CCTV, 공유기공유기, SmartPhone, Smart TV, Setop box 등
방명록(Guestbook)에 스크립트를 저장하기 <script> alert(‘web hacking’)</script>
Low 그냥실행됨
Medium:
addslashes(): ‘, “, \, NULL의 앞에 \를 붙여서 Escape처리를 하는 함수
htmlspecialchars(): html태그로 바꾸어서 실행되지 않도록 함 : Crossside scripting에 대해선 강력한 보안을 띔
ð <는 <, >는 >, &는 &emp; ‘는 ' “는 "e
본 게시물은 학습기록을 위한 포스팅입니다. 악의적인 목적으로 이용 시 발생할 수 있는 모든 법적 책임은 자신에게 있습니다.
'정보보안' 카테고리의 다른 글
WebDav취약점을 이용한 백도어 해킹실습 (0) | 2022.05.11 |
---|---|
백도어(backdoor) 트로이목마(Trojan horse) 해킹 실습 (0) | 2022.05.11 |
난독화 (Obfuscated code): 인코딩과 디코딩 정리 + 디코딩 실습 (0) | 2022.05.10 |
SQL 인젝션(Injection)이란? 해킹실습과 대응방안 (0) | 2022.05.10 |
SQL Injection 실습을 위한 환경 구성하기 (with Win7 server) (0) | 2022.05.09 |