Israel launches offensive after Hamas attack