| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- Openstack
- ESXi
- 2018
- diva
- 인시큐어뱅크
- Strings
- elasticsearch
- beebox
- ctf
- XSS
- InsecureBank
- Suninatas
- dreamhack
- Volatility
- SQL Injection
- FTK Imager
- frida
- Docker
- lord of sql injection
- igoat
- CTF-d
- otter
- binwalk
- foremost
- filescan
- base64
- vulnhub
- kibana
- 안드로이드
- imageinfo
- Today
- Total
목록Docker (12)
Information Security
1. 개요GNU Inetutils 패키지에 포함된 Telnetd(Telnet 서버 데몬)는 사용자가 원격으로 접속하면 직접 인증을 처리하지 않고, 시스템의 표준 로그인 프로그램인 /bin/login을 호출하여 인증을 위임합니다. 이때, 텔넷 클라이언트가 보낸 환경 변수 중 USER 값을 아무런 필터링 없이 /bin/login의 인자로 전달하는 것이 문제입니다. 2. 공격 메커니즘 (어떻게 뚫리는가?)이 취약점의 무서운 점은 '인증 과정 자체를 건너뛴다'는 것입니다. 텔넷 서버가 사용자가 입력한 이름을 검증하지 않고 시스템 로그인 프로그램에 그대로 전달하기 때문에 발생합니다.공격자 접근: 텔넷 서비스(23번 포트)가 열린 서버에 접속을 시도합니다.악성 페이로드 주입: 사용자 이름 대신 -f root라는 값..
개요 CVE-2025-14847, 일명 MongoBleed는 MongoDB Server에서 발견된 치명적인 정보 노출 취약점으로, 외부 공격자가 인증 절차를 거치지 않고도 원격에서 서버 메모리의 일부를 유출할 수 있다는 점에서 매우 높은 위험도를 가집니다. 이 취약점은 MongoDB가 클라이언트와 통신할 때 사용하는 네트워크 메시지 압축 기능(zlib)의 처리 과정에서 발생합니다. MongoDB는 네트워크 성능을 향상시키기 위해 압축된 메시지를 수신하고 이를 해제(decompression)하는데, 이 과정에서 특정 조건 하에 메모리 초기화가 제대로 이루어지지 않는 결함이 존재합니다. 공격자는 이러한 결함을 악용하여 의도적으로 조작된 압축 요청을 서버로 전송할 수 있습니다. * zlib 압축 통신 과정에..
Apache Struts2는 Java EE1 웹 애플리케이션 개발을 위한 오픈소스 프레임워크다. Java EE 웹 애플리케이션 분야에서 수많은 활용 사례가 존재한다. Apache Struts2 파일 업로드 우회를 통한 원격 코드 실행 취약점이다. 마찬가지로 파일 업로드 로직 결함으로 인해 발생하며 공격자는 OGNL 표현식2을 이용해 임의의 경로에 웹쉘(Web Shell)과 같은 악성파일을 업로드할 수 있다. S/W 구분취약점 버전Apache Struts2Struts 2.0.0 – Struts 2.3.37Struts 2.5.0 – Struts 2.5.33Struts 6.0.0. – Struts 6.3.0.2 이름정보피해자Struts 6.3.0.2(192.168.238.134)공격자Kali Linux(19..
이 사이트의 컨테이너를 불러온 뒤 워드프레스 설치를 했다. 워드프레스를 다운로드했다. 압축을 풀면 wordpress 디렉터리가 생성된 것을 알 수 있다. 컨테이너로 접속 후 소유자를 daemon으로 변경했다. 해당 디렉터리의 파일들을 backup 디렉터리로 옮겼다. cp 명령어로 wordpress를 컨테이너로 복사했다. wordpress 디럭터리의 파일들을 밖으로 옮겼다. 127.0.0.1 접속하면 wordpress가 설치된 것을 알 수 있다.
test_server.py 코드를 실행시킨다. 다른 터미널에서 접속을 시도한 것을 알 수 있다. 이미지 빌드를 위한 docker 코드를 작성했다. docker build 하는 과정이다. dockerfile 소스코드 대로 등록이 된 것을 알 수 있다. images 명령어를 통해 등록한 것을 볼 수 있다. echo_test image를 -t 옵션을 주면 실행시키면 동작하는 것을 알 수 있다. 접속이 된 것을 알 수 있다.
Hostname이 Docker 컨테이너로 변경되어 쉘로 접속된 것을 알 수 있다. Docker 컨테이너의 파일 시스템을 확인할 수 있다. 로그는 파일에 담긴 로그가 아니라 프로그램이 실행되면서 에러 출력되는 로그들이다. test.txt 파일에 test1234 값을 저장 후 docker cp 명령어를 이용해 docker 안으로 복사했다. 이번에는 Docker 안에서 밖으로 복사가 된 것을 알 수 있다. Docker 컨테이너 이름만 보이게 할 수 있고 docker 전체를 중지 후 삭제시킬 수 있다. rm 옵션을 해도 삭제되지 않았는 데 docker 정지 시 rm 명령어가 동작해 삭제된것을 알 수 있다.
hub.docker.com/r/jupyter/datascience-notebook nginx 설치를 하고 env_name=test1234 환경변수를 적용했다. docker 쉘로 접속 후 printenv 명령어로 확인해 보니 test1234 환경변수를 확인할 수 있다. mysql 환경변수를 적용 후 mysql 다운로드하였다. exec 명령어로 바로 mysql로 접속했다. MySQL 명령어가 동작하는 것을 알 수 있다.
왼쪽: 이미지 A를 지운다 하더라도 이미지 B에서 레이어 A, B, C를 사용하고 있기 때문에 지워지지 않음 오른쪽: 이미 존재하는 레이어 A, B는 새로 다운로드 받을 필요가 없음 Storage Driver가 설치된 위치 overlay2라는 것을 알 수 있다. Docker가 설치 된 위치 /var/lib/docker라는 것을 알 수 있다. docker가 설치된 디렉터리에서 image, overlay2, containers 크기를 확인할 수 있다. docker의 image의 정보를 알 수 있다. 실제 파일시스템을 구성하는 부분이다. rmi 명령어로 삭제 시 이미지가 삭제되는 부분이다. cache-id 확인 서로 다른 것을 알 수 있다. layerdb는 overlay2의 정보를 가지고 있고 실제로 데이터를..
