iOS 앱 보안진단을 위한 환경설정
Notice : 해당 자료가 저작권등에 의해서 문제가 있다면 바로 삭제하겠습니다. 연구목적으로 사용하지 않고 악의적인 목적으로 이용할 경우 발생할 수 있는 법적은 책임은 모두 본인에게 있습니다. iOS 앱 보안진단을 위한 환경설정 iOS 앱 정적 분석하기(class-dump-z, clutch) Objective-C Runtime의 이해와 gdb … Continue reading
Notice : 해당 자료가 저작권등에 의해서 문제가 있다면 바로 삭제하겠습니다. 연구목적으로 사용하지 않고 악의적인 목적으로 이용할 경우 발생할 수 있는 법적은 책임은 모두 본인에게 있습니다. iOS 앱 보안진단을 위한 환경설정 iOS 앱 정적 분석하기(class-dump-z, clutch) Objective-C Runtime의 이해와 gdb … Continue reading
ssh 로그인 없이 접속하기 계정에 .ssh 디렉토리에 ssh키가 존재하는지 확인.
1 2 3 |
$ ls -al ~/.ssh total 12 -rw-r--r-- 1 user user 222 2012-04-18 10:16 known_hosts |
없으면 ssh-keygen을 사용해 rsa 알고리즘에 기반한 키를 생성
1 2 3 4 5 6 7 8 9 10 11 12 |
$ ssh-keygen -t rsa Enter file in which to save the key (/home/user/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user/.ssh/id_rsa. Your public key has been saved in /home/user/.ssh/id_rsa.pub. he key fingerprint is: ... $ ls -al ~/.ssh -rw------- 1 user user 1679 2012-04-18 10:19 id_rsa -rw-r--r-- 1 user user 396 2012-04-18 10:19 id_rsa.pub -rw-r--r-- 1 user user 222 2012-04-18 10:16 known_hosts |
생성한 키중의 공개키를 복사(id_rsa는 개인키므로 복사하지 말 것.)
1 2 3 4 5 6 7 8 9 |
$ ssh-copy-id -i .ssh/id_rsa.pub xxx.xxx.xxx.xxx The authenticity of host 'xxx.xxx.xxx.xxx' can't be established. Are you sure you want to continue connecting (yes/no)? yes user@xxx.xxx.xxx.xxx's password: Now try logging into the machine, with "ssh 'xxx.xxx.xxx.xxx'", and check in: ~/.ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. |
ssh 접속을 통해 인증없이 통과 되는지 확인.
1 |
]$ ssh user@xxx.xxx.xxx.xxx |
CentOS 설치후 작업 1. 시작데몬 설정.
1 |
]# ntsysv |
sshd crond network syslog xinetd 만 빼고 모두 체크 해제한다. 재시작 한번 해준다. 2. DNS 설정
1 2 |
]# vi /etc/resolv.conf nameserver 168.126.63.1 |
3. ssh 보안 설정
1 2 3 4 5 |
]# vi /etc/ssh/sshd_config ... # 앞에 주석 # 삭제 후 포트번호 변경 port 0000 ... |
root 계정을 막기 전에 다른 계정을 생성한다.
1 2 3 4 5 6 7 8 9 10 |
]# useradd xxxx ]# passwd xxxx Changing password for user xxxx. New UNIX password: Retype new UNIX password: ]# vi /etc/ssh/sshd_config ... # 앞에 주석 # 삭제 후 yes를 no로 변경 PermitRootLogin no ... |
4 ftp … Continue reading
SCP를 암호없이 사용 하기 / ssh 로그인 없이 접속하기 1. 두대의 서버 트러스트 관계 만들기 1) scp를 사용하여 자동으로 데이터를 복사하기 위해서는 두대의 머신이 트러스트(Trusted) 관계에 있어야 된다. 두대의 서버를 트러스트 관계로 만들기 위해서는 공개/개인 dsa 키 쌍을 생성하여 … Continue reading
Notice : 해당 자료가 저작권등에 의해서 문제가 있다면 바로 삭제하겠습니다. 연구목적으로 사용하지 않고 악의적인 목적으로 이용할 경우 발생할 수 있는 법적은 책임은 모두 본인에게 있습니다. ssh port scan 소스 중 일부이다. 해킹당한 고객사 서버 점검 중 발견..(하여간 보안에 제발 … Continue reading
지겨운놈들.. 계속 공격 시도중… 경로 위치는 /usr/local/service/
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
]# vi denyip.sh #!/bin/bash # Script by Yunkiman # Modified by icworld # Second Modified by dksniper(http://blog.naver.com/dksniper) # Convert oops-firewall to hosts.deny days=`date +%d` nowdir=`pwd` savedir="$nowdir/denylist" cleanfile="$nowdir/hosts.dat" cnt=0 if [ -e /var/log/secure ] then for i in $( tail -n50 /var/log/secure | grep "^[A-Za-z ]\{4,\}$days" | grep "Failed password" | awk -F "from" '{print $2}' | awk '{prin t $1}' | sort | uniq -c | awk '$1 > 8 {print $2}'); do denyip=${i#::ffff:} #ip format ::ffff:0.0.0.0 echo "ALL : $denyip" >> $savedir cnt=$(($cnt+1)) done fi #If not found then exit if [ $cnt = 0 ] then exit fi for a in $( cat /etc/hosts.deny | grep "ALL : " | awk '{print $3}' | sort | uniq -c | awk '{print $2}'); do echo "ALL : $a" >> $savedir done #cp $cleanfile /etc/hosts.deny echo "# # hosts.deny This file describes the names of the hosts which are # *not* allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # # The portmap line is redundant, but it is left to remind you that # the new secure portmap uses hosts.deny and hosts.allow. In particular # you should know that NFS uses portmap! " > /etc/hosts.deny for b in $( cat $savedir | grep "ALL : " | awk '{print $3}' | sort | uniq -c | awk '{print $2}'); do echo "ALL : $b" >> /etc/hosts.deny done rm -rf $savedir /etc/init.d/xinetd reload |
위의 파일을 스크립트를 실행할 디렉토리(저의 경우는 /usr/local/service/)에 만들어 넣은 후 crontab에 다음과 같이 등록.
1 |
1-60/5 * * * * /usr/local/service/denyip.sh > /dev/null 2>&1 |
이렇게 하면 5분마다 한번씩 검사하여 5번이상 틀린사람은 거부를 하게함. 참고 : http://www.oops.org/SERVICE/jsboard/read.php?table=jsboard_oopsFAQ&no=426&page=2 http://www.oops.org/SERVICE/jsboard/read.php?table=jsboard_oopsFAQ&no=503&page=2