본문 바로가기

Security51

아파치 톰캣 (Apache and Tomcat) 틀린 부분이 있다면 언제든지 댓글 남겨주세요! 아파치 (Apache) - port 80 - 흔히 사용하는 아파치란 아파치 소프트웨어 재단에서 관리하는 크로스 플랫폼 HTTP 웹 서버(Web server). - 여러 운영체제에서 동작이 가능하며, 80번 포트인 클라이언트 요청에 의해 정적인 데이터(HTML, CSS, 이미지)를 처리하는 웹 서버. * 웹 서버 = 클라이언트가 POST, GET, DELETE 등의 메소드를 이용해 요청한 것을 받아 그 결과를 돌려주는 기능. ex_ Apache사의 Apache, Microsoft사의 IIS 등 (하드웨어에서 웹 서버란 웹 서버 소프트웨어와 웹 사이트의 구성 요소 파일을 저장하는 컴퓨터 ex_HTML문서, 이미지, CSS 스타일 시트 및 JS파일) - 장점: 처.. 2022. 7. 1.
DoS / DDoS / DRDoS 틀린 부분이 있다면 언제든지 댓글 남겨주세요! 네트워크 기반 공격 중 DoS / DDoS / DRDoS DoS(Denial of Service) : 정상적인 서비스 사용을 못하게 만들어 가용성을 떨어트리는 공격, 단일 PC를 이용해 공격 공격 방식 - Ping of Death: 아주 큰 ping (ICMP echo request) 패킷을 만들어 전송하여 MTU에 의해 다수의 IP 단편화 발생 유도 * ICMP 패킷은 20byte의 IP 헤더 부분을 제외하면 1480byte가 최대 크기 > 대응책: 보통 ICMP 패킷은 분할되지 않으므로 다수의 분할된 패킷이 반복적으로 발생하면 공격 의심 - Land Attack: source IP와 destination IP가 같은 패킷을 만들어 자기 자신에게 응답을 보.. 2022. 5. 18.
API 보안 틀린 부분이 있다면 언제든지 댓글 남겨주세요! API (Application Platform Interface) : 응용프로그램 개발시 운영체제나 프로그래밍 언어(C, java, python 등)에 있는 라이브러리(Library)를 이용할 수 있도록 정의해놓은 인터페이스. 점차 표준 API를 이용해 프로그램을 개발하는 기업이 증가함에 따라 의존도가 높아지고 있음. API를 이용해 데이터를 전송하고 서비스를 연결하는 경우가 많아져 API가 손상되거나 해킹되면 데이터 유출이 발생할 수 있음. 이에 따라 앞으로 보안 상 API가 주요 공격 대상이 됨. 특히 내부 시스템을 이용하는 것이 아니라 인터넷을 통해 호출하는 REST API는 더욱 보안이 필요함. API 접근 방식 - Open API: 백엔드에 서버를 .. 2022. 5. 16.
[Malwarebytes] crackme 1 틀린 부분이 있다면 언제든지 댓글 남겨주세요! Malwarebytes-crackme 1 이 파일은 Malwarebytes사에서 제공하는 훈련용 악성코드이다. 9가지의 디버거 탐지 코드를 거쳐 process hollowing을 통해 rundll32.exe프로세스에 인젝션 코드를 주입한 후 실행시키면 성공 문자열을 확인할 수 있다. 정적 분석 (Exeinfo, Bintext) 우선 정적 분석을 통해 파일의 형식과 사용되는 API, 문자열 등을 확인해보았다. 상세 분석(x64dbg, process explorer) x64dbg으로 동적 분석을 통해 상세 분석을 진행한다. 파일을 실행시켰을 때 나왔던 문자열을 이용해 핵심 코드를 찾아간다. 'I am so sorry, you failed! :( ' 문자열을 이용.. 2021. 12. 9.
데이터 보호 기법-Canary 틀린 부분이 있다면 언제든지 댓글 남겨주세요! Canary 란? 함수 호출 시에 스택에 카나리아 값을 설정하고, 함수가 종료하기 직전 값의 변조 유무를 검사 (이를 이용하여 스택 오버플로우가 발생 했는지 여부를 확인할 수 있음) 이 값은 컴파일 단계에서 추가되며, 옵션으로 SSP(stack smashing protector)사용/ SSP끄기 설정 Windows에서는 GS or Stack Cookie / Linux에서는 Stack Canary라고 불림 Canary 종류 - Terminator canary : \xff(EOF), \x00(null), 0x0a(LF) 와 같이 문자열의 끝을 나타내는 문자 이용 - Random canary : 랜덤하게 값 생성, 프로그램 초기 설정시 전역 변수에 값 저장 - R.. 2021. 11. 11.
UAF 공격 틀린 부분이 있다면 언제든지 댓글 남겨주세요! UAF (Use After Free) 취약점 힙(Heap)은 동적으로 메모리 할당(malloc)/해제(free)가 되는 부분. 힙 영역 중 사용 중이 아닌 공간(unused heap)은 이중 연결 리스트로 관리. 중간에 메모리 해제가 발생하면 해당 영역이 연결 리스트에 추가되며, 새로 메모리 할당 요청이 오면 연결리스트의 첫번째 매칭(first fit)영역을 할당. 할당했던 메모리 해제 후 재할당해서 사용할 때 같은 크기로 재할당 할 경우 이전에 사용(use)했던 메모리 공간을 재사용하게 되는데, 이때 이전에 할당했을 때처럼 사용하는 경우 발생할 수 있는 문제가 UAF(use after free)공격. (최근 운영체제에서는 재할당 X) 해제된 공간 재할당 확.. 2021. 11. 6.
[CodeEngn] Challenges Basic RCE L20 CodeEngn_Challenges Basic RCE L20 L20. 이 프로그램은 Key파일을 필요로 하는 프로그램이다. 'Cracked by: CodeEngn!' 문구가 출력 되도록 하려면 crackme3.key 파일안의 데이터는 무엇이 되어야 하는가 Ex) 41424344454647 (정답이 여러개 있는 문제로 인증시 맞지 않다고 나올 경우 Contact로 연락주시면 확인 해드리겠습니다) 파일 실행 결과 key파일이 없어서 그런지 아무것도 뜨지 않는다. 더보기 key파일 없이 풀어보려도 시도했던 흔적.. createFileA API return결과 key파일이 없어 eax=FFFFFFFF이므로 401032에서 비교 후 분기되지 않는다. 이 부분을 수정하여 key파일이 없어도 파일이 존재할 때 실행되.. 2021. 10. 18.
디버깅 탐지 방법 틀린 부분이 있다면 언제든지 댓글 남겨주세요! TEB / PEB를 통해 디버깅 탐지 1. PEB의 BeingDebugged Flag 확인 (IsDebuggerPresent API로 플래그 값 확인 가능 or PEB+0x02값 확인) 디버거가 동작중인 경우 1의 값을 가짐 - 우회: 플래그 값 변경, IsDebuggerPresent API 후킹 및 리턴값 0으로 변경 2. Heap메모리 영역의 특성 이용 (Heap메모리 영역에 접근해 디버깅시의 heap 특성 이용) Heap메모리 영역는 사용되지 않는 부분을 0xFEEEFEEE 또는 0xABABABAB 값으로 채우는 특징을 가짐 따라서 heap메모리 영역을 도는 if을 생성하여 0xFEEEFEEE 또는 0xABABABAB값을 가지면 디버깅 중임을 알 수 있.. 2021. 10. 15.
[CodeEngn] Challenges Basic RCE L17, L18, L19 틀린 부분이 있다면 언제든지 댓글 남겨주세요! CodeEngn_Challenges Basic RCE L17 L17. 키값이 BEDA-2F56-BC4F4368-8A71-870B 일때 Name은 무엇인가 힌트 : Name은 한자리인데.. 알파벳일수도 있고 숫자일수도 있고.. 정답인증은 Name의 MD5 해쉬값(대문자) Name이 한자리라고 해서 1을 입력하고 Key에 '123'을 입력했더니 다음과 같이 더 많은 문자를 입력하라는 문자열이 나온다. 파일의 정보를 확인해보니 델파이로 작성된 파일이다. x32dbg을 사용해보도록 하겠다. 메시지 박스가 뜨는 부분과 'Please Enter More Chars..'문자열을 이용하여 핵심 코드를 찾아가 보았다. 45BB24부분에서 eax값과 뒤의 숫자를 비교해 같거나.. 2021. 10. 14.
728x90
반응형